明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: lostbalance

[源码] 通用多层面板

    [复制链接]
发表于 2024-7-31 12:32:48 | 显示全部楼层
本帖最后由 muai2010 于 2024-8-1 10:47 编辑
lostbalance 发表于 2024-7-22 13:27
可以的,你找到对应的按钮,然后再前面添加文字元件就行。
比如以下就是帮助的按钮
(setq dcl-str (str ...

1、按钮不能通过系统自带命令,比如这个按钮是画直线,不能直接(if (= ctl 120) (circle))


ps:此部分这么修改会导致上面多层按钮 如 main 失效,可以不改
((boundp (read cmd))
                ;(princ "\n")
                ;(eval (read (strcat "(" cmd ")")))
               (Vlax-Invoke-Method *DOCA* 'SendCommand (strcat "(" cmd ")" " "))
)



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
 楼主| 发表于 2024-8-2 23:43:38 | 显示全部楼层
muai2010 发表于 2024-7-31 12:32
1、按钮不能通过系统自带命令,比如这个按钮是画直线,不能直接(if (= ctl 120) (circle))

手头的电脑没AutoCAD,不能验证。
系统自带的命令,不能当函数处理,所以不能直接用括号加命令名,用在cmd前加command,用command去转一手。
不过,如果是作为面板特殊按钮用的话,其实没必要定义cmd,用cond或者if (= ctl 120)判断后,直接用(command "circle")开始执行就好了,特殊按钮没几个,直接指定后面维护也方便。
发表于 2024-8-3 22:12:35 | 显示全部楼层
lostbalance 发表于 2024-8-2 23:43
手头的电脑没AutoCAD,不能验证。
系统自带的命令,不能当函数处理,所以不能直接用括号加命令名,用在c ...

基本弄好,后面打算用这个面板来用,上面黄色线标注处必须要,不然不显示,但是后面的值可以乱写,哈哈哈


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2024-8-19 09:43:07 | 显示全部楼层
本帖最后由 muai2010 于 2024-8-19 10:03 编辑
lostbalance 发表于 2024-8-2 23:43
手头的电脑没AutoCAD,不能验证。
系统自带的命令,不能当函数处理,所以不能直接用括号加命令名,用在c ...

大佬。是不是只能单列或者单行,多列外加一个框或者多行外加一个框dcl是不是不能实现?意思如下图,这个面板能实现么



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
 楼主| 发表于 2024-8-23 17:11:02 | 显示全部楼层
muai2010 发表于 2024-8-19 09:43
大佬。是不是只能单列或者单行,多列外加一个框或者多行外加一个框dcl是不是不能实现?意思如下图,这个 ...

时间有点久了,我手头在用的这个面板函数和引用函数都修改过,不好做测试,不过从我写的修改历史来看,应该是可以实现你说的要求的。

以下是我样例中的部分代码,参照红色的代码增加新的子列表就能增加多列或者多行,可以多个子列表
         ("命令组1"
            (
              "FUNC1 命令1"
              "FUNC2 命令2"
              "FUNC3 命令3"
              "more-1 =汇总= (&W)"
            )
            (
              "FUNC1x 命令1x"
              "FUNC2x 命令2x"
              "FUNC3x 命令3x"
            )

          )
         (其他按钮...)

        )

发表于 2024-8-23 21:11:13 | 显示全部楼层
本帖最后由 muai2010 于 2024-8-25 00:48 编辑
lostbalance 发表于 2024-8-23 17:11
时间有点久了,我手头在用的这个面板函数和引用函数都修改过,不好做测试,不过从我写的修改历史来看,应 ...

我试试看看,实在不行笨办法解决,间距用了这个代码,外面包围框下面的边线没有了,这个能不能消除啊

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2024-8-24 10:33:06 | 显示全部楼层
太多了,不好找。
 楼主| 发表于 2024-8-26 18:04:32 | 显示全部楼层
muai2010 发表于 2024-8-23 21:11
我试试看看,实在不行笨办法解决,间距用了这个代码,外面包围框下面的边线没有了,这个能不能消除啊

这个代码没用过,从名称看,是调节间距的,那么边线没有的话,就有可能是因为你把间距值设成了none,也就是0,你可以试试适当放大一些。


从你的面板看,有主面板,还有各个功能区块的分面板,那么,我推荐可以试试我的另一个面板代码。
http://bbs.mjtd.com/thread-177620-1-1.html

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

本版积分规则

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

GMT+8, 2024-9-27 06:53 , Processed in 0.145445 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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