作者suny999 (满23篇了...)
看板Cad_Cae
标题Re: [问题] AutoCAD 有"隐藏非选取物件"的指令吗?
时间Fri May 29 13:24:46 2009
※ 引述《suny999 (满20篇了...)》之铭言:
: 抱歉各位前辈,在下 AutoCAD 学龄不到两个月,自学乱摸索+查help,
: 绘图的指令懂的并不多,个人喜欢写程式,所以由 Lisp 切入学 CAD。
: 问题来了,AutoCAD 只找到关闭图层的功能,找不到非选取物件独显,
: 只找到一个方法,先选取物件後再3D环转(3dorbit),但离开就没了,
: 像 ABAQUS、PATRAN 之类的软体都有选取物件独显的功能,
: 请问 AutoCAD 有内建指令吗?如果没有的话,只好自己写 Lisp 了。
刚查了help发现有visible的属性,所以写了一个简单的程式:
(抱歉刚学 LISP 不太习惯传统的格式)
;_
;_ Create by Suny 2009.05.29
;_
(VL-LOAD-COM)
(setq
AcadObj(if AcadObj AcadObj(vlax-get-acad-object))
AcadDoc(if AcadDoc AcadDoc(vla-get-ActiveDocument AcadObj))
SelSets(if SelSets SelSets(vla-get-SelectionSets AcadDoc))
ff:ss (if ff:ss ff:ss (vla-add SelSets "ff Selection"))
ff:sa (if ff:sa ff:sa (vla-add SelSets "All")) )
(defun c:ff ()
(vla-Select ff:sa acSelectionSetAll)
(if (=(vla-get-count ff:ss)0) (ff:first) (ff:ghost))
(if (=(vla-get-count ff:ss)0) (ff:visible ff:sa :vlax-true)) )
(defun ff:visible (ff:vis:ss ff:vis:visibility)
(vlax-for obj ff:vis:ss (vla-put-Visible obj ff:vis:visibility)) )
(defun ff:first()
(PROMPT "\nFirst mode: select the objects to be visible only.")
(vla-SelectOnScreen ff:ss)
(ff:visible ff:sa :vlax-false)
(ff:visible ff:ss :vlax-true ) )
(defun ff:ghost()
(PROMPT "\nGhost mode: Select to hide. <none to restore>:")
(vla-clear ff:ss)
(vla-SelectOnScreen ff:ss)
(ff:visible ff:ss :vlax-false) )
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.169.200.130