您不需要使用car,getpoint返回x、y和z值。
要在列表中使用变量,需要使用cons。
- (defun C:UA (/ CPT)
- (setq CPT (getpoint "\nSpecify insertion point: "))
- (entmake
- (list
- (cons 0 "CIRCLE")
- (cons 8 "TEST")
- (cons 10 CPT)
- (cons 40 0.375)
- )
- )
- (princ))
当你决定去那里的时候,会额外增加一点:
设置图层和线型默认值。
创建线型定义HIDDEN2。
(注意:如果使用的是连续线型,则不需要线型定义。)
创建一个名为CIRCLE的层。
图层颜色为红色。
线型HIDDEN2。
线宽25mm。
获取半径和中心点。
把圆圈放在图层上。
- (defun C:UA2 (/ CPT RAD LNAM LTYP LWGT LCLR) ;Define function, Declare local variables
- (setq LNAM "CIRCLE" ;Set layer name
- LCLR 1 ;Set layer color
- LTYP "HIDDEN2" ;Set linetype
- LWGT 25) ;Set lineweight
- (or (tblsearch "ltype" "HIDDEN2") ;Search drawing for linetype
- (entmake ;Entity make
- (list ;Start list
- (cons 0 "LTYPE") ;Entity type
- (cons 100 "AcDbSymbolTableRecord") ;Subclass marker
- (cons 100 "AcDbLinetypeTableRecord") ;Subclass marker
- (cons 2 "HIDDEN2") ;Linetype name
- (cons 70 0) ;Standard flag values (bit-coded values)
- (cons 3 "Hidden2 (.5x) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ");Linetype description
- (cons 72 65) ;Alignment code; value is always 65, the ASCII code for A
- (cons 73 2) ;The number of linetype elements
- (cons 40 0.1875) ;Total pattern length
- (cons 49 0.125) ;Dash, dot or space length (one entry per element)
- (cons 74 0) ;Complex linetype element type (one per element). Default is 0 (no embedded shape/text)
- (cons 49 -0.0625) ;Dash, dot or space length (one entry per element)
- (cons 74 0) ;Complex linetype element type (one per element). Default is 0 (no embedded shape/text)
- ) ;End list
- ) ;End entity make
- ) ;End or
- (if (null (tblsearch "layer" LNAM)) ;Search drawing for layer name
- (entmake ;Entity make
- (list ;Start list
- (cons 0 "LAYER") ;Entity type
- (cons 100 "AcDbSymbolTableRecord") ;Subclass marker
- (cons 100 "AcDbLayerTableRecord") ;Subclass marker
- (cons 2 LNAM) ;Layer Name
- (cons 6 LTYP) ;Linetype
- (cons 62 LCLR) ;Layer color
- (cons 70 0) ;Layer state
- (cons 290 1) ;Plotting flag
- (cons 370 LWGT) ;Set lineweight
- ) ;End list
- ) ;End entity make
- ) ;End if
- (setq RAD (getreal "\nSpecify radius: ") ;Get Radius
- CPT (getpoint "\nSpecify circle center point: ")) ;Get center point
- (entmake ;Entity Make
- (list ;Start list
- (cons 0 "CIRCLE") ;Entity type
- (cons 100 "AcDbEntity") ;Subclass marker
- (cons 410 "Model") ;Model Space
- (cons 8 LNAM) ;Layer
- (cons 100 "AcDbCircle") ;Subclass marker
- (cons 10 CPT) ;Center point
- (cons 40 RAD) ;Radius
- ) ;End list
- ) ;End Entity make
- (princ)) ;Exit quietly
|