The Buzzard 发表于 2022-7-6 12:32:09

 
 
在本例中,将使用appload自动加载文件PS.lsp。
 
;;;/////////////////////////////////////////////////////////////////
;;; Function - PS.lsp Start-Up            ;Describe function
(defun C:PS ()                              ;Define function
(PSLOAD)                                  ;GOTO PSLOAD function
)                                           ;End of define function
;;;/////////////////////////////////////////////////////////////////
;;; Function - PS.lsp Load All Programs   ;Describe function
(defun PSLOAD ()                            ;Define function
(load "PS1.lsp")                        ;Load PS1.lsp
(princ "\nP1.lsp Loaded...")            ;Inform user program is loaded
(load "PS2.lsp")                        ;Load PS2.lsp
(princ "\nP2.lsp Loaded...")            ;Inform user program is loaded
(load "PS3.lsp")                        ;Load PS3.lsp
(princ "\nP3.lsp Loaded...")            ;Inform user program is loaded
(load "PS4.lsp")                        ;Load PS4.lsp
(princ "\nP4.lsp Loaded...")            ;Inform user program is loaded
(load "PS5.lsp")                        ;Load PS5.lsp
(princ "\nP5.lsp Loaded...")            ;Inform user program is loaded
(load "PS6.lsp")                        ;Load PS6.lsp
(princ "\nP6.lsp Loaded...")            ;Inform user program is loaded
(load "PS7.lsp")                        ;Load PS7.lsp
(princ "\nP7.lsp Loaded...")            ;Inform user program is loaded
(PSLOADMESSAGE)                           ;GOTO PSLOADMESSAGE function
)                                           ;End of define function
;;;/////////////////////////////////////////////////////////////////
;;; Function - PS.lsp Load Message          ;Describe function
(defun PSLOADMESSAGE ()                     ;Define function
(prompt "\nAll PS.lsp Programs Loaded...");Inform user all programs are loaded
)                                           ;End of define function
;;;/////////////////////////////////////////////////////////////////
 
在这个例子中,这里是PS.mns
注意ID_003。这是您在下拉菜单中单击的按钮,用于在准备好加载所有程序时加载它们。
这是一个按钮,上面写着单击此处加载所有程序。。。
 
ID_005、006、007有宏来调用特定的程序,以便在此时为您启动。
 
AutoCAD菜单文件-C:\Program Start\PS.mnc//***MENUGROUP=PS***POP1**PSID\u 001ID\u 002[-]ID\u 003[单击此处加载所有程序…](加载“PS”)^C^CPSID\u 004[-]ID\u 005[程序开始1…]^C^CPS1ID\U 006[程序开始2…]^C^CPS2ID\U 007[程序开始3…]^C^CPS3ID\U 008[-]ID\U 009[->更多程序]ID\U 010[程序开始4…]^C^CPS4ID\U 011[程序开始5…]^C^CPS5ID\U 012[

The Buzzard 发表于 2022-7-6 12:35:15

这是加载到图形编辑器中的菜单的图像。

Lee Mac 发表于 2022-7-6 12:38:00

很好的解释,秃鹰

The Buzzard 发表于 2022-7-6 12:42:07

 
 
请注意菜单文件中提供的所有详细信息,以实现您想要的结果。你想放多少就放多少。

The Buzzard 发表于 2022-7-6 12:44:07

 
谢谢李,
 
这是我在另一个论坛上使用的一个例子。我现在自己用这个方法。在您准备好之前,程序不会加载到ACADs内存中。单击一个按钮,整个套件将自动加载。加载后,您的程序可用于整个绘图任务。

JeepMaster 发表于 2022-7-6 12:48:14

事实上,我发现使用CUI的新版本在创建菜单方面更加人性化。你不需要知道所有的编码或格式。如果你能点击并拖动东西,你就可以开始了。您需要做的就是:
去找崔,
右键单击菜单,新建,输入菜单名称,即:MyMenu。
现在,在“命令列表”窗口下,单击以显示自定义命令。
现在,单击并将“Blank”命令拖回新创建的“MyMenu”
在右边你会看到名字“Blank”,把它改成你想要的。ie:MakeLine
在宏行下,输入用于调用lisp的命令。即:^C^C^C基线。
现在,在“图像”下,选择一些您喜欢的图片或编辑以绘制自己的图片。
申请并完成。
 
如果尚未加载lisp,可以将其添加到lisp文件部分。只需右键单击并加载LISP。完成。确保完成后保存CUI。
 
实际上比听起来简单得多。

The Buzzard 发表于 2022-7-6 12:52:41

 
吉普马斯特
 
你的方法听起来很像Zorg真正想要的。我只是在解释一种我喜欢的方法。如果你能就如何制作菜单提供更详细的建议,我会很感兴趣,因为我相信佐格会的。
 
谢谢你的意见。

Zorg 发表于 2022-7-6 12:56:19

两者都很棒,我花了一些时间来掌握buzzard的方法,虽然冗长,但这对于理解菜单系统实际上是如何工作的非常好!我会继续,直到我掌握了这种方法,然后当我准备建立我的第一个菜单供实际使用时,我会尝试新的方式'拖放'。如果我在这里遇到任何可能有用的东西,我会尽快发布结果。
 
再次感谢
 
Z

tmcgover 发表于 2022-7-6 12:58:23

你好
 
我已经阅读了所有的线程,我可能错过了一些东西。但我正在尝试在AutoCAD 10上创建一个新的下拉菜单。我已经能够创建下拉树-标题、子标题和命令(从块库插入块),但当我选择命令时,它不起作用。我不明白。
 
所以我想我的问题是,你怎么做一个新的自定义菜单?我得到了下拉树部分,但没有命令部分。有人能帮我吗。
我也做了工具选项板,很好,但不是我老板想要的。
页: 1 [2]
查看完整版本: 崔定制下拉列表