- UID
- 675606
- 积分
- 3406
- 精华
- 贡献
-
- 威望
-
- 活跃度
-
- D豆
-
- 在线时间
- 小时
- 注册时间
- 2013-5-6
- 最后登录
- 1970-1-1
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
[常用函数] 收集:自贡黄明儒
 - ;;; 1 [功能] 检查加载vlisp扩展
- (vl-load-com)
- ;;; 2 常数(lisp编辑器在输出局部变量时,带*的会排在前面.caoyin这样写很有道理)
- (setq *en2obj* vlax-ename->vla-object
- *obj2en* vlax-vla-object->ename
- *2pi* (* pi 2)
- *0.5pi* (/ pi 2)
- *0.25pi* (/ pi 4) ; 常用vla对象、集合
- *acad* (vlax-get-acad-object)
- *doc* (vla-get-activedocument *acad*)
- *docs* (vla-get-documents *acad*)
- *ms* (vla-get-modelspace *doc*)
- *ps* (vla-get-paperspace *doc*)
- *blks* (vla-get-blocks *doc*)
- *lays* (vla-get-layers *doc*)
- *lts* (vla-get-linetypes *doc*)
- *sts* (vla-get-textstyles *doc*)
- *grps* (vla-get-groups *doc*)
- *dims* (vla-get-dimstyles *doc*)
- *louts* (vla-get-layouts *doc*)
- *vps* (vla-get-viewports *doc*)
- *vs* (vla-get-views *doc*)
- *dics* (vla-get-dictionaries *doc*) ; 常用的几个外部接口对象
- *fso* (vlax-get-or-create-object "Scripting.FileSystemObject")
- *wsh* (vlax-get-or-create-object "wscript.shell")
- *shell* (vlax-get-or-create-object "Shell.Application")
- *scr* (vlax-get-or-create-object "ScriptControl")
- *wbem* (vlax-get-or-create-object "WbemScripting.SWbemLocator")
- )
- ;;; 3 [功能] 返回活动空间vla对象
- (defun mj:activespace ()
- (if (= 1 (vlax-get-property doc* 'activespace)) ; 模型1,布局0
- *ms*
- *ps*
- )
- )
- ;;; 4.1 [功能] 返回当前活动空间名称("model" or "paper")
- (defun mj:activespace-name ()
- (if (= 1 (vla-get-activespace *doc*))
- "Model"
- "Paper"
- )
- )
- ;;; 4.2 [功能] 返回空间名称,如"model"或者"layout1"...
- (defun mj:activespace1 ()
- (vla-get-name (vla-get-activelayout *doc*))
- )
- ;;; 5 [功能] 返回preferences vla对象
- (defun mj:acadprefs ()
- (vlax-get-property *acad* 'preferences)
- )
- ;;; 6 [功能] 返回指定引用的属性
- ;;; tabname:application,display,drafting,files,opensave,output,profiles,selection
- ;;; ,system,user
- ;;; 示例 (mj:getprefkey 'files 'supportpath) 获取支持文件路径
- (defun mj:getprefkey (tabname keyname)
- (vlax-get-property (vlax-get-property (mj:acadprefs) tabname) keyname)
- )
- ;;; 7 [功能] 更改引用设置
- ;;; 示例 (mj:setprefkey "opensave" "incrementalsavepercent" 0)
- (defun mj:setprefkey (tabname keyname newval)
- (vlax-put-property (vlax-get-property (mj:acadprefs) tabname) keyname newval)
- )
- ;;; 8 [功能] 返回 acad对象的属性
- ;;; propname:activedocument,application,caption,documents,fullname,height,hwnd,lo
- ;;; caleid,menubar,
- ;;; menugroups,name,path,preferences,statusid,vbe,version,visible,width,windowlef
- ;;; t,windowstate,windowtop
- ;;; 示例 (mj:acadprop 'fullname)
- (defun mj:acadprop (propname)
- (vlax-get-property *acad* propname)
- )
- ;;; 9 [功能] 对象名称
- ;;; 示例 (mj:name *acad*) returns "autocad"
- ;;; 示例 (mj:name *ms*)返回"*model_space"
- (defun mj:name (obj)
- (if (vlax-property-available-p obj 'name)
- (vlax-get-property obj 'name)
- "<NONE_NAME>"
- )
- )
更多见附件。
|
-
-
常用函数.lsp
184.76 KB, 下载次数: 914, 下载积分: D豆 -1 , 活跃度 1
售价: 1 D豆 [记录]
评分
-
查看全部评分
|