MarcoW 发表于 2022-7-6 11:28:37

关于“编程”t的问题

大家好,
 
我知道工具选项板应该用最少的编程技巧创建。我同意这一点,我确实是这样创造的。
 
然而我使用了许多由宏启动的方便例程(当单击工具选项板上的按钮时)。有些宏非常长。我们中的一些人会说,这不是这样做的方式,但可以。
 
要使工具选项板工作,需要做大量的工作来复制和粘贴所有内容,如图像、命令、宏等。
 
在我的情况下,我一直在使用*。mnu文件已保存很长时间。即使现在我仍然使用它们。大多数宏来自这些文件。我已经做过一次了,现在仍然很有用。
 
修改*时。mnu文件我用记事本做。我可以到处走动。这是一种在记事本中快速修改一个或多个宏的方法。考虑复制/粘贴/查找文本/替换文本等选项。
 
现在我想知道工具选项板是否可以以同样的方式制作/修改?有人有这方面的经验吗?
 
如果我打开*。atc文件(调色板文件)我看到了一些代码,但我不知道它是什么,PHP等等。。。
 
欢迎提供任何提示/头脑风暴。

Lee Mac 发表于 2022-7-6 11:35:56

工具栏可以通过VL进行操作,您可以添加按钮和分隔符,修改宏/位图等
 
作为一个快速示例,您可以使用以下内容检索工具栏项的宏:
 

(defun GetMacros (tNme / lst)
(vl-load-com)
(vlax-for Men (vla-get-MenuGroups
               (vlax-get-acad-object))
   
   (vlax-for tObj (vla-get-Toolbars Men)

   (if (eq tNme (vla-get-Name tObj))      
       (vlax-for bObj tObj
         (setq lst (cons (vla-get-Macro bObj) lst))))))

(vl-remove "" (reverse lst)))

(defun c:test nil
(princ
   (vl-princ-to-string
   (GetMacros "Object Snap")))
(princ))

 
ObjectSnap工具栏包含的测试功能。

MarcoW 发表于 2022-7-6 11:40:11

李,
 
感谢您的快速回复!
 
只是一个问题,你说的是工具栏,我指的是工具选项板。
 
我们谈论的不是同一个。。。?
 
铜。

Lee Mac 发表于 2022-7-6 11:46:13

也许我误解了

alanjt 发表于 2022-7-6 11:52:15

键入TP,你就会知道他在说什么。

Lee Mac 发表于 2022-7-6 11:57:15

谢谢Alan,这些很酷
 
我希望我有CAD的经验来配合LISP的经验-只看了2010年的“Leaders”工具调色板-我不敢相信有多少选项,想想看,我已经为其中许多选项提供了LISP。
 

Pablo Ferral 发表于 2022-7-6 12:00:54

工具托盘使用XML。试试Microsoft XML记事本(…在atc文件的副本上!)

alanjt 发表于 2022-7-6 12:06:31

 
Autodesk发布了一些好东西。

dbroada 发表于 2022-7-6 12:10:53

如果你不探索这个项目,这就是问题所在。我们在这里使用了很多分包人员,我已经记不清我耐心解释的次数了“我们用这个例程来做……”,只有他们说“哦,有点像XXXX命令?”

Lee Mac 发表于 2022-7-6 12:14:34

 
没错,当你制作一个已经存在命令的LISP时,这会让你感到尴尬——这有点破坏了你对该程序的了解。
页: [1] 2
查看完整版本: 关于“编程”t的问题