那位大神帮忙用lisp快速改变图框属性!
那位大神帮忙用lisp来完成这些问题?注;图框名为;PX-A3, PX-A4
1;材质,热处理,输入快捷键SLD<单选>就可以把材质,跟热处理自动填到 图框指定的位置。
(每个零件材质热处理不一样一定要手动单选)例如;SLD HRC58°~60°
2;项目名称,输入快捷键就可以把项目名称,自动一次性填到多个图 框里。例如;AB
3;产品名称,输入快捷键就可以把产品名称,自动一次性填到多个图框里。例如;CD
4;模号,输入快捷键就可以把模号,自动一次性填到多个图框里。例如;123
5;设变日期1,输入快捷键就可以把设变日期1,自动一次性填到多个图框里。例如;8-12-2018
6;总张数,输入快捷键就可以统计A3与A4总张数,并自动把统计的A3与A4总和填到所有图框指定的位置里。
(defun hs-tukuangmc ()
"VA4") ;修改图框名称
(defun c:h9 () ;修改命令
(hs-cz"MAT'L" "SKH-9" ));修改材质
(defun hs-cz (bq cz / ss is1 )
(princ "\n请选择图框:")
(setq ss (ssget ;"_C" pt1 pt2
(list (cons -4 "<or") (cons 2 (hs-tukuangmc)) (cons -4 "OR>"))
)
)
(setq i 0)
(repeat (sslength ss)
(setq s1 (ssname ss i))
(setq i (1+ i))
(hs-sxtx bq cz s1)
)
)
(defun hs-sxtx ( pn text s1 / aa a1 x bb) ;pn 属性 text 属性值 s1 图框
(setq aa (vlax-safearray->list
(vlax-variant-value
(vla-GetAttributes (vlax-ename->vla-object s1))
)
)
)
(setq a1 (mapcar '(lambda (x)
(cons (vla-get-Tagstring x) x)
)
aa
)
)
(setq bb (cdr (assoc pn a1)))
(vla-put-textstring bb text)
)
这就是使用带一堆 Attribs 的图框的繁琐之处了...
合理的使用Xref,形成模块化,层级化的图纸组织方式,能有效简化这类操作。 qingbo9818 发表于 2019-5-13 21:20
(defun hs-tukuangmc ()
"VA4") ;修改图框名称
你好!调用你的程序提示找到0个,不知道问题在哪?麻烦指教。 qingbo9818 发表于 2019-5-13 21:20
(defun hs-tukuangmc ()
"VA4") ;修改图框名称
我用这个提示参数错误
(defun c:SKD11() (mthd_vl "SKD11" "HRC58%%d~60%%d"))
命令: skd11
选择对象:
; 错误: 参数类型错误: stringp nil
命令:
根据提示修改正确完才行 e2002 发表于 2019-5-14 10:21
这就是使用带一堆 Attribs 的图框的繁琐之处了...
合理的使用Xref,形成模块化,层级化的图纸组织方式,能 ...
请问外部参照怎么形成层级化的图纸组织?
页:
[1]