明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3061|回复: 10

[求助]如何创建自动加载工具条?

[复制链接]
发表于 2007-1-29 14:53 | 显示全部楼层 |阅读模式

请问各位大虾和斑竹,如何用lisp创建一个工具条,并且在CAD运行时自动加载?请高手指教!!谢谢!!!

发表于 2007-1-29 23:06 | 显示全部楼层
一般采用MNU菜单文件了。
 楼主| 发表于 2007-1-30 08:35 | 显示全部楼层

请问各位大虾和斑竹,如何用lisp创建一个工具条,并且在CAD运行时自动加载?请高手指教!!谢谢!!!

 楼主| 发表于 2007-1-31 16:21 | 显示全部楼层

没有回应

 楼主| 发表于 2007-1-31 16:22 | 显示全部楼层

没有人帮忙,太遗憾了!!!

发表于 2007-1-31 17:09 | 显示全部楼层

前面不是有人回答了吗?

具体做法可以参考Express的菜单文件和对应的mnl文件。

如果需要的是按钮,在2000~2004版里自己加按钮,菜单文件就会被自动修改(更高版本我没用过,不代表一定不行)

添加按钮对应的图形文件的处理好像以前有人给过办法。

发表于 2007-1-31 18:43 | 显示全部楼层
//
//      AutoCAD 菜单文件 - C:\Program Files\AutoCAD 2002\user\user.mns
//

***MENUGROUP=user

***POP12
**PULL_DOWN
               [@绘制]
               [选择最近的选择集]$M=$(if,$(getvar,cmdactive),,_select;)_p
               [--]
               [显示次序  置后]^C^C^P(ai_draworder "_b") ^P
               [--]
               [UCS_原点_ZV ]^C^C_UCS O
               [--]
               [水平构造线  ]^C^C_xline h
               [垂直构造线  ]^C^C_xline v
               [--]
***TOOLBARS
**绘制
ID______0      [_Toolbar("绘制", _Right, _Show, 0, 0, 1)]
ID_Regen_1     [_Button("重生成", "ICON8467.bmp", "ICON_16_BLANK")]^C^C_regen
ID_UserButton_38 [_Button("CEN层水平中心线", "ICON5436.bmp", "ICON_16_BLANK")]^C^C_xline h;
ID_UserButton_39 [_Button("CEN层垂直中心线", "ICON2391.bmp", "ICON_16_BLANK")]^C^C_xline v;
ID_UserButton_40 [_Button("过点偏移线", "ICON4604.bmp", "ICON_16_BLANK")]^C^C_OFFSET T
ID_Line        [_Button("直线", "ICON_16_LINE", "ICON_16_LINE")]^C^C_LINE
               [--]

***ACCELERATORS
[SHIFT+"Z"]^C^C


创建如上user.mns格式自定义彩单
再创建同名的.mnl格式--user.mnl
内容:
(menucmd "P10=+user.POP12")
(command "_.toolbar" "user.绘制" "_show")

menuload 局部加载user菜单

[SHIFT+"Z"]便可以中断命令,等同ESC



发表于 2007-1-31 22:50 | 显示全部楼层
各位师兄,小弟写了个小程序,想把"改层""移动"两个命令合并操作//

输入力命令ay,选择物体,就能改层,再能移动.

可小弟写在下面的,只能改层,不能把移动命令连接操作.

////////

////////

////////

(defun c:ay ()

(princ "change_p_la ")

(setq en (ssget))

(command "change" en "" "p" "la" "2" "")

)

嘿嘿//小弟只能写到这里,不知道那位师兄能帮小弟解决这个问题

本人邮箱: liming@hk-digitall.com

谢谢//////

发表于 2007-1-31 23:37 | 显示全部楼层
  1. (defun c:ay ()
  2. (princ "change_p_la ")
  3. (setq en (ssget))
  4. (command "change" en "" "p" "la" "2" "")
  5. (command "_.move" en "" pause pause)
  6. (princ)
  7. )
 楼主| 发表于 2007-2-1 08:15 | 显示全部楼层

谢谢大虾,我会努力研究、学习!

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

本版积分规则

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

GMT+8, 2024-5-18 05:37 , Processed in 0.192277 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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