Entmake圆形颜色
我的代码怎么了???我知道它的编码很糟糕,但有人能帮忙吗?(defun c:test(/ sel int ent str end reyjus hcol clr ss)
(setq reyjus (getreal "\nEnter Radius: "))
(While T
(if (setq ss (ssget "_:S" (list '(0 . "TEXT"))))
(foreach e (mapcar 'cadr (ssnamex ss))
(setq hcol (atof (cdr (assoc 1 (entget e)))))
(cond ((<= hcol 1.5)(setq clr 252))
((<= hcol 2.5)(setq clr 5))
((<= hcol 3.5)(setq clr 3))
((<= hcol 5)(setq clr 30))
((<= hcol 10)(setq clr 1))
((> hcol 10)(setq clr 6)))
(command "_Change" e "" "_p" "_Color" clr "")
)
)
(if (setq int -1 sel (ssget "_:S" '((0 . "LINE"))))
(while
(setq ent (ssname sel (setq int (1+ int))))
(setq str (cdr (assoc 10 (entget ent)))
end (cdr (assoc 11 (entget ent)))
)
(entmake
(list '(0 . "CIRCLE")
(cons 10 (mapcar '(lambda (q p) (* (+ q p) 0.5)) str end))
(cons 40 (+(- (distance str end) (distance str end)) reyjus.))
;(cons 62 . clr)
)
)
)
)
)
(princ)
)
当您向cons函数提供两个原子作为参数时,它会创建一个点对:
(cons 62 . clr)
哈哈,谢谢你解释grr!是的!现在它正在工作
最后一个问题,是否也可以对所做的圆进行实体填充?在同一个(entmake)上?
嵌入图案填充实体可能会有问题,需要大量代码;因此,我建议使用对标准AutoCAD BHATCH命令的调用,或将ActiveX addhatch方法与appendouterloop方法结合使用-以下是后者的示例。 我会试着读的,先生,谢谢
你说得对,先生!entmaking hatch是如此复杂,我甚至无法理解代码!><
我会遵守命令的
这是我之前代码中添加的图案填充
(defun c:Text2(/sel int ent str end reyjus hcol clr ss sabilog)(setq reyjus(getreal“\n输入圆半径:”)(而T(if(setq ss(ssget“:S”(list’(0。“TEXT”))))(foreach e(mapcar’cadr(ssnamex ss))(setq hcol(atof(cdr(assoc 1(entget e))))))))(cond((
页:
[1]