只需一步,快速开始
(entmake (list (0 . "LWPOLYLINE") (90 . 3) (10 10 10)(10 20 30)(10 30 40)))
提示:错误: 参数类型错误: consp "LWPOLYLINE",怎么回事呢,请高手指点一下哈
使用道具 举报
(defun entmakepolyline (lst) (entmakex (append (list '(0 . "LWPOLYLINE") '(100 . "AcDbEntity") '(100 .
"AcDbPolyline") (cons 90 (length lst)) '(70 . 0) ;;;1 is closed ) ;_ list (mapcar '(lambda (x) (cons 10 x) ) lst ) ) ;_ append ))
谢谢指教。
出现这样的提示了:
错误: DXF 组不正确: ((0 . "LWpolyline") (43 . 1) (100 . "AcDbPolyline") (90 . 31) (8 . "tracklines") (70 . 0) (10 495189 4.14386e+006) (10 495188 4.14386e+006) (10 495187.0 4143853) (10 495187 4.14385e+006) (10 495187.0 4.14385e+006) (10 495187.0 4143842) (10 495187.0 4.14384e+006) (10 495188.0 4.14383e+006) (10 495188.0 4.14383e+006) (10 495189.0 4143828) (10 495190.0 4.14382e+006) (10 495192.0 4.14382e+006) (10 495193.0 4.14382e+006) (10 495195.0 4.14382e+006) (10 495197.0 4.14381e+006) (10 495199.0 4.14381e+006) (10 495202.0 4.14381e+006) (10 495204.0 4.14381e+006) (10 495207.0 4.1438e+006) (10 495209.0 4.1438e+006) (10 495212.0 4.1438e+006) (10 495214.0 4.1438e+006) (10 495216.0 4.1438e+006) (10 495218.0 4.1438e+006) (10 495220.0 4.1438e+006) (10 495222.0 4143794) (10 495223.0 4.14379e+006) (10 495225.0 4.14379e+006) (10 495226.0 4.14379e+006) (10 495227.0 4.14379e+006) (10 495228.0 4.14379e+006))
这样的组码怎么不正确呢?
"AcDbPolyline" ) (cons 90 (length lst)) '(70 . 0) '(43 . 1);;;1 is closed ) ;_ list (mapcar '(lambda (x) (cons 10 x) ) lst ) ) ;_ append ))(setq lst (list '(495189 4.14386e+006) '(495188 4.14386e+006) '(495187.0 4143853) '(495187 4.14385e+006) '(495187.0 4.14385e+006) '(495187.0 4143842) '(495187.0 4.14384e+006) '(495188.0 4.14383e+006) '(495188.0 4.14383e+006) '(495189.0 4143828) '(495190.0 4.14382e+006) '(495192.0 4.14382e+006) '(495193.0 4.14382e+006) '(495195.0 4.14382e+006) '(495197.0 4.14381e+006) '(495199.0 4.14381e+006) '(495202.0 4.14381e+006) '(495204.0 4.14381e+006) '(495207.0 4.1438e+006) '(495209.0 4.1438e+006) '(495212.0 4.1438e+006) '(495214.0 4.1438e+006) '(495216.0 4.1438e+006) '(495218.0 4.1438e+006) '(495220.0 4.1438e+006) '(495222.0 4143794) '(495223.0 4.14379e+006) '(495225.0 4.14379e+006) '(495226.0 4.14379e+006) '(495227.0 4.14379e+006) '(495228.0 4.14379e+006)))(entmakepolyline lst)
;;以上代码运行正确
谢谢了,可以了。可是还不明白差在哪儿,呵呵。慢慢研究吧,谢谢哈!
用上述方法建立太死板,对于不同版本的AUTOCASD,上述过程就不一定适合里.
比较好的办法是调用既有的参数修改后形成新的.
建立层的过程:
(setq ent (tblobjname "layer" "0"))
(setq ent_list (entget ent))
(setq ent_list (subst (cons 1 newname) (assoc 1 ent_list) ent_list)) ;新的层名
((setq ent_list (subst (cons 62 4) (assoc 62 ent_list) ent_list)) ;新层颜色
...
(entmake ent_list)
本程序可以在R2000以上的任何版本中安全运行.
本版积分规则 发表回复 回帖后跳转到最后一页
小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 ) ©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途
GMT+8, 2024-5-11 23:41 , Processed in 0.150215 second(s), 25 queries , Gzip On.
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.