can't seem to get it, wonder if I am close?Code:(entmake '((0 . "MLINESTYLE") (2 . "SFD") (70 . 272) (62 . 0) (62 . 4) (51 . 90.0) (52 . 90.0) (71 . 2) (49 . 5.0) (49 . -5.0) (6 . "CONTINUOUS")))
|
|
|
can't seem to get it, wonder if I am close?Code:(entmake '((0 . "MLINESTYLE") (2 . "SFD") (70 . 272) (62 . 0) (62 . 4) (51 . 90.0) (52 . 90.0) (71 . 2) (49 . 5.0) (49 . -5.0) (6 . "CONTINUOUS")))
Don't want to sound negative but I haven't seen anyone that could entmake a multiline.
Its probably possible, but seeing as a MLINESTYLE is supposed to be some sort of XRECORD in a DICTIONARY Object, a simple entmake would not suffice.
You'll probably need to use entmakex. Then use dictadd to add the ename of this to the ACAD_MLINESTYLE named object dictionary. But something still seems out of place ... there's no way of adding the MLStyle name to the dictionary, which is supposed to have a list of (3 . "StyleName") (350 . <Entity name of record object>) for each of the styles.
ok thanks to both of you, will have to try another avenue then
so after searching the autodesk discussion threads I found a routine that fixo worked out and modified it to create the mline style I need.
fixos original thread can be found here
Code:(setq MLINE_STYLE_NAME "SFD-routine" INNER_GAP 5.0 OUTER_GAP 5.0) (if (not (dictadd (cdar (dictsearch (namedobjdict) "ACAD_MLINESTYLE")) MLINE_STYLE_NAME (entmakex (list '(0 . "MLINESTYLE") '(100 . "AcDbMlineStyle") (cons 2 MLINE_STYLE_NAME) '(70 . 272) '(3 . "") '(62 . 256) '(71 . 4) (cons 49 OUTER_GAP) '(62 . 4) '(6 . "BYLAYER") (cons 49 INNER_GAP) '(62 . 4) '(6 . "BYLAYER") (cons 49 (* -1 INNER_GAP)) '(62 . 4) '(6 . "BYLAYER") (cons 49 (* -1 OUTER_GAP)) '(62 . 4) '(6 . "BYLAYER"))))) (alert "Impossible to create mline style\n perhaps this was exist earlier")) (princ)
Last edited by d_m_hopper; 2009-01-19 at 03:48 PM.