明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3159|回复: 3

VLAX-Add-Cmd这个函数的帮助在哪???

[复制链接]
发表于 2006-12-21 15:06:00 | 显示全部楼层 |阅读模式
VLAX-Add-Cmd在cad帮助里没有是怎么回事?
发表于 2006-12-21 17:02:00 | 显示全部楼层

在Autolisp Reference 中的V function 中

將指令加入 AutoCAD 內建指令集
(vlax-add-cmd global-name func-sym [local-name cmd-flags])

利用 vlax-add-cmd,您可以將函數定義為 AutoCAD指令,而不需使用在函數名稱中前置 c: 。您也可以定義透通式 AutoLISP 指令,這種函數不可能會有 c: 。
vlax-add-cmd 函數使 AutoLISP 函數和 AutoCAD 階段作業期間, AutoCAD「指令」提示的 ObjectARX 型指令一樣可見。這個函數提供對 ObjectARX acedRegCmds 巨集的存取,此巨集提供 ObjectARX系統 AcEdCommandStack 物件的指標。
vlax-add-cmd 函數會自動將指令指定給指令群組。當從文件名稱空間發出 vlax-add-cmd 時,它會將指令加入群組具名的 doc-ID;doc-ID 是一個用來識別文件的十六進位值。如果vlax-add-cmd 是從分離名稱空間 VLX 發出,它會將指令加入群組具名的 VLC-Ddoc-ID:VLX-name,其中 VLX-name 是發出 vlax-add-cmd 的應用程式名稱。

請注意 您不能使用 vlax-add-cmd 宣告函數,以建立反應裝置物件或作為反應裝置回覆的用途。

引數

global-name

一個字串。

func-sym

具有零引數的 AutoLISP 函數名稱的符號。

local-name

字串 (global-name 的預設值)。

cmd-flags

整體(ACRX_CMD_MODAL + ACRX_CMD_REDRAW 的預設值)
主要的旗標是:
ACRX_CMD_MODAL (0) 當其他指令在作用中時無法啟動的指令。
ACRX_CMD_TRANSPARENT (1) 當其他指令在作用中時可以啟動的指令。
次要的旗標是:
ACRX_CMD_USEPICKSET (2)  當擷取 pickfirst 集時,它會在 AutoCAD 之中清除。指令可以擷取 pickfirst 集。指令無法擷取或設定掣點。
ACRX_CMD_REDRAW (4) 當擷取 pickfirst 集或掣點集時,AutoCAD 之中都不能清除。指令可以擷取 pickfirst 集和掣點集。

如果 ACRX_CMD_USEPICKSET 和 ACRX_CMD_REDRAW 兩者都設定,效用與 ACRX_CMD_REDRAW 設定相同。對於旗標的其他資訊,請參考「ObjectARX 參考手冊」中的「指令堆疊」主題。

傳回值

如果成功的話是 global-name 引數。函數傳回 nil 表示 acedRegCmds->addCommand(...) 傳回錯誤的狀態。

範例

hello-autocad 函數在下列的範例中沒有前置 c:,但是vlax-add-cmd 使它像 AutoCAD 指令提示的 ObjectARX 型指令一樣可見。

_$ (defun hello-autocad () (princ "hello Visual LISP"))

HELLO-AUTOCAD

_$ (vlax-add-cmd "hello-autocad" 'hello-autocad)

"hello-autocad"

发表于 2006-12-21 17:08:00 | 显示全部楼层
我用过这个函数,感觉不 好用,注册的命令会出问题,特别在单文档时。多文档也会出错。
发表于 2007-1-5 23:41:00 | 显示全部楼层

多谢楼主分享

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-11-23 13:05 , Processed in 0.188633 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表