我来个entmake版本
 - (defun c:tt()
- (defun sk_ha_solid (cen rad sk_assoc sk_lay sk_col / sk_col0)
- (if(and cen rad (= (type cen) 'LIST)(numberp rad)(> rad 0))
- (progn
- (if (> (length cen))
- (setq cen (list (car cen) (cadr cen)))
- )
- (cond
- ((= (getvar 'cecolor) "BYLAYER")(setq sk_col0 256))
- ((= (getvar 'cecolor) "BYBlock")(setq sk_col0 0))
- (t(setq sk_col0 (atoi (getvar 'cecolor))))
- )
- (entmakex (list '(0 . "HATCH")
- '(100 . "AcDbEntity")
- '(100 . "AcDbHatch")
- '(10 0.0 0.0 0.0)
- '(210 0.0 0.0 1.0)
- (cons 8 (if sk_lay sk_lay (getvar 'clayer)))
- (cons 62 (if sk_col sk_col sk_col0))
- '(2 . "SOLID")
- '(70 . 1)
- (if sk_assoc (cons 71 1)(cons 71 0))
- '(91 . 1)
- '(92 . 1)
- '(93 . 1)
- '(72 . 2) ;2圆弧
- (cons 10 cen) ;中心点 ocs中
- (cons 40 rad) ;半径
- (cons 50 0.0) ;起点弧度
- (cons 51 (* pi 2)) ;端点角度
- '(73 . 0) ;逆时针标志
- '(97 . 0)
- '(75 . 0)
- '(76 . 1)
- '(98 . 0)
- )
- )
- )
- )
- )
- (setq lst (list '(0 0 0) '(50 50 0)))
- (mapcar '(lambda (p) (entmakex (list (cons 0 "circle")'(102 . "{ACAD_REACTORS")
- (cons 330 (sk_ha_solid p 10 t nil nil))
- '(102 . "}")
- (cons 10 p)
- (cons 40 10)))
-
- )
- lst
- )
-
- (princ )
- )
|