我已经阅读了autocad站点中的文档,要从实体图案填充更改为其他类型的图案填充,必须弄乱2个dxf代码。70对应于固体或非固体为1或0。2确实是孵化模式。最后41是图案比例的dxf。
所以我试着做以下几点:
- (defun c:efg ( / trama solido e o s x texto tipodepeca z y)
- (if (setq s (ssget "_:L" '((0 . "HATCH"))))
- (repeat (setq i (sslength s))
- (setq e (ssname s (setq i (1- i)))
- x (entget e)
- trama (cdr (assoc 2 x))
- solido (cdr (assoc 70 x))
-
- )
- (setq z (entmod (subst 0 solido x))) ;;;; change the dxf 70 from 1 (solid) to 0 (not solid)
-
-
-
- (if (= trama "SOLID")
-
- (progn
- (setq y (entmod (subst '(8 . "est.Trama") (assoc 8 x) z))) ;;;; Changes layer
-
- (setq w (entmod (subst '(2 . "AR-CONC") (assoc 2 x) y))) ;;;;Changes type of hatch
-
- (entmod (subst '(41 . 0.01) (assoc 41 x) w)) ;;;;Changes pattern scale (or shouldn't?)
-
-
- )
- )
-
- )
- )
- (princ)
- )
基本上,我将dxf 70从1更改为0(以便启用非实体图案填充),然后将dxf 2更改为其他图案。
问题是,一切正常,但比例模式没有改变。(图层和图案填充名称正确)。
这与我修改设置的顺序有关吗? |