@ Lee Mac : thx, gonna need this.
@ roy_043 : attached the dwg's with the code of my first post in BC and after RECOVER in AC
And these are the differences between AC - BC when trying to add codes 10 11 20 21 with single value
Autocad 2011
Command: (setq olddict (vlax-vla-object->ename (vla-GetExtensionDictionary (vlax-ename->vla-object (car (entsel))))))
Select object: <Entity name: 7ffffc03f70>
Command: (dictadd olddict "TESTXREC1" (entmakex (list '(0 . "XRECORD") '(100 . "AcDbXrecord") '(20 . 1.0) '(21 . 1.0))))
<Entity name: 7ffffc05000> ;;; no error !!!!
Command: (setq dict (vlax-vla-object->ename (vla-GetExtensionDictionary (vlax-ename->vla-object (car (entsel))))))
Select object: <Entity name: 7ffffc03f70>
Command: (setq xget (dictsearch dict "TESTXREC1"))
((-1 . <Entity name: 7ffffc05000>) (0 . "XRECORD") (5 . "78") (102 . "{ACAD_REACTORS") (330 . <Entity name: 7ffffc03f70>) (102 . "}") (330 . <Entity name: 7ffffc03f70>) (100 . "AcDbXrecord") (280 . 1)) ;;; codes 20/21 not added !!!
Command: (dictadd olddict "TESTXREC" (entmakex (list '(0 . "XRECORD") '(100 . "AcDbXrecord") '(10 . 1.0) '(11 . 1.0))))
; error: bad DXF group: (10 . 1.0)
Bricscad V12
: (setq olddict (vlax-vla-object->ename (vla-GetExtensionDictionary (vlax-ename->vla-object (car (entsel))))))
Select entity: <Entity name: 0431b300>
: (dictadd olddict "TESTXREC1" (entmakex (list '(0 . "XRECORD") '(100 . "AcDbXrecord") '(20 . 1.0) '(21 . 1.0))))
<Entity name: 0431b558>
: (setq dict (vlax-vla-object->ename (vla-GetExtensionDictionary (vlax-ename->vla-object (car (entsel))))))
Select entity: <Entity name: 0431b300>
: (setq xget (dictsearch dict "TESTXREC1"))
((-1 . <Entity name: 0431b558>) (0 . "XRECORD") (5 . "43") (102 . "{ACAD_REACTORS") (330 . <Entity name: 0431b300>) (102 . "}") (330 . <Entity name: 0431b300>) (100 . "AcDbXrecord") (280 . 1) (20 . 1.0) (21 . 1.0))
: (dictadd olddict "TESTXREC" (entmakex (list '(0 . "XRECORD") '(100 . "AcDbXrecord") '(10 . 1.0) '(11 . 1.0))))
; ----- Error around expression -----
'(11 . 1.0);
; error : bad argument type <(10 . 1.0)> ; expected <LIST> at [DXF/XED DATA]
I'm still interested in knowing if AC requires 3 values for gc 10-39. If the code in the first post is used in AC what do you get? Does AC add missing the coordinates?
Does:
'(... (20 . 1) (21 . 1.0))
Become:
'(... (10 . 0.0) (20 . 1.0) (30 . 0.0) (11 . 0.0) (21 . 1.0) (31 . 0.0))
?