Command: (entmake '((0 . "CIRCLE") (62 . 1) (10 4.0 4.0 0.0) (40 . 1.0))) ((0 . "CIRCLE") (62 . 1) (10 4.0 4.0 0.0) (40 . 1.0)) Can you inform to me,where I find it in "help" or sites ,and what name of title for this code (0.xxx) ---> 0. is indicate as ??? (62.xxx) ----> 62. is indicate as ??? (40.xxx) ----->40. is indicate as ??? etc Thanks for your reply Best regards Ade Suharna
Look at here 0 stand for entity , LINE CIRCLE ARC or whatsover 40 , in this case ,CIRCLE, is radious 62 is color, red, in this case http://www.jefferypsanders.com/autolispexp_enti.html Gabriel CALÓS DE VIT Ducasse 948 CORDOBA ARGENTINA TE 0351-472-2677 CELULAR 156-575-497
You can't use degrees in DXF code fields. You must convert to radians. 45 deg is (/ pi 4.0) radians. You also can skip field 5, since that's the handle, and AutoCAD supplies it automatically. ___
Adesu, FYI, if you want to use Paul's expression, you will need to enclosed it all within a list of dotted pairs, not a quoted list... (entmake (list '(0 . "ARC") '(100 . "AcDbEntity") '(67 . 0) '(410 . "Model") '(8 . "0") '(100 . "AcDbCircle") '(10 10.0 10.0 0.0) '(40 . 4.07603) '(210 0.0 0.0 1.0) '(100 . "AcDbArc") '(50 . 0.0) (cons 51 (/ PI 4.0)) ) ) Also, *PLEASE* look into using ActiveX for this. It will likely be easier for you to comprehend... faster. (setq _obj (vlax-invoke-method (vlax-get-property (vlax-get-property (vlax-get-acad-object) 'ActiveDocument ) 'ModelSpace ) 'AddArc (vlax-3d-point '(10.0 10.0 0.0)) 4.07603 0.0 (/ PI 4.0) ) );_end setq (vlax-put-property 'Layer _obj "0") hth, David Kozina (note: above code not tested, but it should be fairly close)
You may, if you wish. However, David's caution still applies; you must use (cons 51 (angtof "45")) within a (list ...) function, and not '(51 . (angtof "45")) The reason is that the ' function is equivalent to (quote ...) and tells AutoLISP (or VLisp) to interpret what follows *literally* without doing any internal manipulations or calculations. ___