找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 2689|回复: 9

[求助] 请问去掉Opendcl标签

[复制链接]
发表于 2014-8-25 21:08:18 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
首先感谢eachy版主开发分享了一套仿天正左侧停靠菜单

现在我是想去掉自带的tab标签,但是不管是直接注释了tab部分的代码,或者设**XDTBCurrentMainMenuDataStru**为空

则会循环报错,CAD会挂掉。

请问,具体该怎样去掉此标签?

帖子链接:http://bbs.xdcad.net/forum.php?mod=viewthread&tid=672357&extra=page%3D1
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 1268个

财富等级: 财源广进

发表于 2014-8-25 21:57:19 | 显示全部楼层
贴上你修改的菜单文件

点评

;;******************************************************************************************; ;;声明: ; ;; 本文  详情 回复 发表于 2014-8-26 08:33
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-8-26 08:33:12 | 显示全部楼层
st788796 发表于 2014-8-25 21:57
贴上你修改的菜单文件

  1. ;;================================================================================;
  2. ;;             变量说明                                                           ;
  3. ;;================================================================================;
  4. ;;**XDTBMenuDataStru**            菜单总数据                                      ;
  5. ;;**XDTBTabMenuDataStru**         标签数据                                        ;
  6. ;;**XDTBCurrentMainMenuDataStru** 当前Tab的主菜单数据                             ;
  7. ;;                                                                                ;
  8. ;;注意: 变量名称不可更改                                                          ;
  9. ;;--------------------------------------------------------------------------------;
  10. ;;            菜单数据初始化                                                      ;
  11. ;;--------------------------------------------------------------------------------;
  12. ;;获取当前菜单数据
  13. (defun Menu_CurrentMenu_DataStru (n)
  14.   (if (eq (type n) 'INT)
  15.     (cdr
  16.       (assoc (strcat "TAB" (itoa n)) (cdddr **XDTBMenuDataStru**))
  17.     )
  18.     (cdr (assoc n (cdddr **XDTBMenuDataStru**)))
  19.   )
  20. )
  21. ;;初始化菜单数据
  22. (defun Menu_DataStru_OnInitialize ()
  23.   (setq  **XDTBMenuDataStru**
  24.    (ea_mainmenu_datastru) ;_主数据
  25.   **XDTBTabMenuDataStru**
  26.    (caddr **XDTBMenuDataStru**) ;_标签数据
  27.   **XDTBCurrentMainMenuDataStru**
  28.    (Menu_CurrentMenu_DataStru
  29.      (car **XDTBTabMenuDataStru**)
  30.    ) ;_当前Tab的主菜单数据
  31.   )
  32.   (vl-propagate '**XDTBMenuDataStru**)
  33.   (vl-propagate '**XDTBTabMenuDataStru**)
  34.   (vl-propagate '**XDTBCurrentMainMenuDataStru**)
  35. )
  36. (defun ODCL_MainMenu_Tab_IsOnly  ()
  37.   (if (= (length **XDTBTabMenuDataStru**) 1)
  38.     (setq **XDTBTabMenuIsEnabled** nil)
  39.     (setq **XDTBTabMenuIsEnabled** t)
  40.   )
  41.   t
  42. )
  43. (defun ODCL_MainMenu_Button_XPositon ()
  44.   (if **XDTBTabMenuIsEnabled**
  45.     (setq **XDTBMainMenuButtonXPosition** 24)
  46.     (setq **XDTBMainMenuButtonXPosition** 0)
  47.   )
  48. )
  49. ;;Main  Program
  50. (defun C:XDTB_Menutool ()
  51.   ;;(if xdrx_document_getversionex
  52.   (if dcl_getversion
  53.     (if  (and (findfile "xdcad.odcl") ;_ODCL文件
  54.        (findfile "xdtb_menu.lsp") ;_菜单文件
  55.        (findfile "xdtb_menucontrol.vlx") ;_控制文件
  56.   )
  57.       (progn
  58.   (vl-load-all "xdtb_menu.lsp")
  59.   ;;(vl-load-all "xdtb_autoload.lsp");_自动加载Lsp文件
  60.   (Menu_DataStru_OnInitialize) ;_初始化主菜单数据
  61.   (ODCL_MainMenu_Button_XPositon)
  62.   (ODCL_MainMenu_Tab_IsOnly)
  63.   (dcl_project_load "xdcad.odcl")
  64.   (and (not **XDTBTabMenuIsEnabled**)
  65.        (/= (dcl_control_getwidth xdcad_mainmenu) 76)
  66.        (dcl_control_setwidth xdcad_mainmenu 76)
  67.   )
  68.   (and **XDTBTabMenuIsEnabled**
  69.        (/= (dcl_control_getwidth xdcad_mainmenu) 96)
  70.        (dcl_control_setwidth xdcad_mainmenu 96)
  71.   )
  72.   (if (dcl_form_isactive xdcad_mainmenu)
  73.     (dcl_form_close xdcad_mainmenu)
  74.   )
  75.   (dcl_form_show xdcad_mainmenu)
  76.   (vl-load-all "xdtb_menucontrol.vlx")
  77.       )
  78.       (princ "\n未找到菜单支持文件!")
  79.     )
  80.     (princ "\n需要加载OpenDCL!")
  81.   )
  82.   ;;(princ "\n需要XDRXAPI支持!")
  83.   ;;)
  84.   (princ)
  85. )
  86. (C:XDTB_Menutool)
  87. (princ)

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-8-26 08:33:44 | 显示全部楼层
st788796 发表于 2014-8-25 21:57
贴上你修改的菜单文件

  1. ;;******************************************************************************************;
  2. ;;声明:                                                                                     ;
  3. ;;    本文件为 xdcadmenu 的配套菜单定义文件,你可以自由定制并修改,使用前请仔细阅读以下说明 ;
  4. ;;并严格按照使用说明定制! 未遵守约定定制所造成的异常自行负责!                               ;
  5. ;;    本程序虽然经过严格测试,但不保证每个机器能顺利安全运行,由此造成的一切损失和后果与本人;
  6. ;;无关!                                                                                     ;
  7. ;;    本程序为开源软件,使用和传播请保持本信息的完整性!                                     ;
  8. ;;    本程序需 OpenDCL 支持!                                                                ;
  9. ;;==========================================================================================;
  10. ;;                       菜单文件总说明                                                     ;
  11. ;;==========================================================================================;
  12. ;;1 最大支持 5 个 Tab 菜单                                                                  ;
  13. ;;2 菜单文件约定字符串需大写                                                                ;
  14. ;;3 不可更改字串                                                                            ;
  15. ;;      TITLE                     ----- 菜单标题标记                                        ;
  16. ;;      LOGO                      ----- 菜单Logo标记                                        ;
  17. ;;      TAB0 TAB1 TAB2 TAB3 TAB4  ----- Tab菜单标记                                         ;
  18. ;;      MAIN                      ----- 主菜单标记,每个Tab菜单中                           ;
  19. ;;      SUB0 SUB1  .....          ----- 二级子菜单标记,与MAIN主菜单菜单对应                ;
  20. ;;      =                         ----- 分隔符标记,用于主菜单和子菜单                      ;
  21. ;;4 图标约定                                                                                ;
  22. ;;  100 主菜单默认图标,向右实心三角                                                        ;
  23. ;;  101 子菜单首行默认图标, 向下实心三角                                                    ;
  24. ;;  102 空白图标, 用于对齐文字                                                              ;
  25. ;;  103 Logo图标                                                                            ;
  26. ;;  以上四个个序号供系统内部使用                                                            ;
  27. ;;5 Logo 图标默认大小 16 x 32 需Support下图片文件                                           ;
  28. ;;6 前三行约定格式                                                                          ;
  29. ;;  ("TITLE" "XDCAD") 菜单标题,名称可以自定义                                              ;
  30. ;;  ("LOGO" "logo.png") Logo 图标,文件可自定义                                             ;
  31. ;;  ("TAB0" ("TAB0" "通用") ("TAB1" "建筑") ("TAB" 其它")) 启用Tab设置,                    ;
  32. ;;   第一个元素为默认启用的TAB菜单, 后面为启用几个及Tab名称,名称可自定义                   ;
  33. ;;7 图标的添加                                                                              ;
  34. ;;  图标大小为 16 x 16 像素                                                                 ;
  35. ;;  用 OpenDCL Sutdio 打开 xdcad.odcl                                                       ;
  36. ;;  在 Project -> View/Edit Picture Folder 中添加自定义图标                                 ;
  37. ;;  添加后的图标为菜单命令中所使用的ID                                                      ;
  38. ;;  注意 ODCL 中控件名称、位置及事件不可改动!                                               ;
  39. ;;8 主菜单定义中末尾为 T 则直接定义为命令, 不再转换子菜单                                   ;
  40. ;;  如 ("块改基点" "动态修改块基点" "XDTB_BlockChgBasept" 100 t)                            ;
  41. ;;  或 ("块改基点" "XDTB_BlockChgBasept" 100 t)                                             ;
  42. ;;  或 ("块改基点" "XDTB_BlockChgBasept" t)                                                 ;
  43. ;;------------------------------------------------------------------------------------------;
  44. ;;                       菜单定义说明                                                       ;
  45. ;;------------------------------------------------------------------------------------------;
  46. ;;1 主菜单                                                                                  ;
  47. ;;   (显示名称 程序说明 图标ID) 如 ("曲线工具" "Curve类工具" 100)                           ;
  48. ;;   程序说明和图标ID可以省略, 图标省略取默认 100 ID                                        ;
  49. ;;2 子菜单                                                                                  ;
  50. ;;   (显示名称 程序说明 命令名称 图标ID) 如("曲直互断" "曲线断开相交线" "XDTB_BREAK" 104)   ;
  51. ;;   程序说明及图标ID和省略,其中首行默认图标 101                                           ;
  52. ;;   命令行省略图标默认 102                                                                 ;
  53. ;;------------------------------------------------------------------------------------------;
  54. ;;Author: Eachy from www.xdcad.net 2013.12.30                                               ;
  55. ;;------------------------------------------------------------------------------------------;
  56. (defun ea_mainmenu_datastru ()
  57.   '(("TITLE" "XDCAD") ;_菜单标题
  58.     ("LOGO" 103) ;_Logo 图标,不启用仅保留名称
  59.     ("TAB0" ("TAB0" "通用") ("TAB1" "专业") ("TAB2" "图层")) ;_根据Tab启用情况增减
  60.     ;;以上三行固定格式,不可更改标记名称或省略元素
  61.     ;;第一个TAB菜单
  62.     ("TAB0"
  63.      ;;主菜单, 命令说明和图标可省略
  64.      ("MAIN"
  65.       ("曲 线 一 " "曲线类工具" 100)
  66.       ("曲 线 二 " 100)
  67.       "="
  68.       ("图块工具" 100)
  69.       ("填充工具")
  70.       ("标注工具")
  71.       ("文字工具")
  72.       ("图层工具")
  73.       "=" ;_分隔符,固定符号不可更改
  74.       ("实体工具")
  75.       "="
  76.       ("专业工具")
  77.      )
  78.      ;;第一个子菜单,对应 Main 中次序, 命令说明和图标可省略
  79.      ("SUB0"
  80.       ("多线清理" "XDTB_PolyCompress")
  81.       "="
  82.       ("批量倒角" "xdtb_plinebataddfillet")
  83.       ("增加顶点" "XDTB_PLineAddPnt")
  84.       ("删除顶点" "XDTB_PLineRemovePnt")
  85.       ("框删顶点" "XDTB_RemoveVerts")
  86.       ("删区间点"
  87.        "删除多段线两点间的所有顶点"
  88.        "XDTB_PolyLineR2Pnt"
  89.       )
  90.       ("删除整段" "XDTB_PolylineRSEG")
  91.       ("框选断开" "XDTB_CurveCrossBreak")
  92.       "="
  93.       ("局部偏移" "xdtb_plinesegoffset")
  94.       ("成组偏移" "XDTB_CurveGOffset")
  95.       ("单线变双" "XDTB_CurveDOffset")
  96.       ("内偏延伸" "XDTB_PlineSegOffsetIn")
  97.       "="
  98.       ("SP转Pline" "XDTB_SPline2PL")
  99.       ("曲线转型"
  100.        "将二维多段线在普通、FIT、B样条、C样条曲线间批量转换"
  101.        "XDTB_PlineConvertType"
  102.       )
  103.       ("光滑曲线" "XDTB_CURVEFIT")
  104.       ("光滑转直" "XDTB_PLineRFIT")
  105.       ("线变复线" "XDTB_CURVE_L2PL")
  106.       "="
  107.       ("融合线段" "XDTB_LineJoin")
  108.       ("曲线校正" "XDTB_DrawAdjust")
  109.       "="
  110.       ("识别内角" "XDTB_PlineInterior")
  111.       ("批标线长" "XDTB_Dimlines")
  112.      )
  113.      ;;第二个子菜单
  114.      ("SUB1"
  115.       ("删超短线" "XDTB_CurveDelSLine")
  116.       ("消除重线" "XDTB_RDUPLINE")
  117.       "="
  118.       ("自由矩形" "XDTB_RectFree")
  119.       ("拓扑造区" "ToPoMkRegion")
  120.       ("多线轮廓" "XDTB_PLine2Outline")
  121.       "="
  122.       ("快速修整" "XDTB_PolylineTrim")
  123.       ("自动修剪" "XDTB_CurveAutoRepair")
  124.       ("局部加粗" "XDTB_PlineSegWidth")
  125.       "="
  126.       ("辅助垂线" "XDTB_HelpPerpLine")
  127.      )
  128.      ("SUB2"
  129.       ("图块轮廓" "生成图块轮廓线" "XDTB_Block2Bound" 100)
  130.       ("图层至 0"
  131.        "所有实体图层变为0层,支持嵌套"
  132.        "Xdtb_blockE20"
  133.        100
  134.       )
  135.       ("图块遮罩" "Xdtb_blockmark" 100)
  136.       ("修改基点" "动态修改图块插入点" "XDTB_BlockChgBasePnt" 100)
  137.       ("动态匹配" "动态块完全匹配" "XDTB_DYNMat")
  138.       ("块生外框" "生成UCS包围盒" "XDTB_Block2Box")
  139.       ("重命名块" "重新指定名称" "XDTB_BlockRename")
  140.       ("块内裁剪" "准确的块轮廓线裁剪边界" "XDTB_BlockTrim")
  141.       ("块内改色" "XDTB_BlockRefChgClr")
  142.       ("提取轮廓" "交互提取轮廓" "XDTB_BlockSingleBound")
  143.       ("提取外框" "交互提取外框" "XDTB_BlockSingleBox")
  144.       ("移动实体" "块内实体移动" "XDTB_MoveEntInBlk")
  145.       ("块添实体" "XDTB_BlockAppendEntity")
  146.       ("比例修复" "XDTB_BlockAdjust")
  147.       ("图块合并" "图块合并成匿名块" "XDTB_BlkRefUnion")
  148.       ("局部复制" "从XREF,INSERT实体内部抠出实体" "XDTB_CopyN")
  149.      )
  150.      ("SUB3"
  151.       ("快速填充" "XDTB_FastHatch")
  152.       ("填充置底" "XDTB_Hatch->Bottom")
  153.       ("填充消重" "XDTB_HatchRemoveDup")
  154.       ("填充挖洞" "XDTB_Hacth")
  155.      )
  156.      ("SUB4" ("标分布筋" "XDTB_DimFbgj"))
  157.      ("SUB5"
  158.       ("同字连线" "XDTB_FindString")
  159.       ("文本对齐" "XDTB_TXTAlign")
  160.       ("修改文字" "XDTB_TXTChange")
  161.       ("沿线写字" "XDTB_TextMkAtLine")
  162.      )
  163.      ("SUB6"
  164.       ("图层归并"
  165.        "将所有实体设置到指定的图层,并进行图形清理,支持嵌套的图块,所有实体颜色随层。"
  166.        "XDTB_LayerMerge"
  167.       )
  168.       ("图层全开"
  169.        "打开所有图层,包括关闭和冻结的"
  170.        "XDTB_LyrOnAll"
  171.       )
  172.       ("选层保留" "关闭非选择图层" "XDTB_LAYERREV")
  173.       ("选层冻结" "支持块内图层" "XDTB_LyrFrozenByPick")
  174.       ("冻结隐藏" "冻结所有不可见层" "XDTB_LyrFrozenAllOff")
  175.       ("解冻所有" "解冻所有图层" "XDTB_LyrUnFrozenAll")
  176.      )
  177.      ("SUB7"
  178.       ("面域合并" "XDTB_RegionUnion")
  179.       ("面域转线" "XDTB_Region2Curves")
  180.       ("面域差集" "XDTB_RegionSubtract")
  181.       ("面域求交" "XDTB_RegionIntersect")
  182.       "="
  183.       ("修改颜色" "XDTB_EntityChgClr")
  184.       "="
  185.       ("实体信息"
  186.        "动态鼠标显示实体信息开关命令,开、关交替命"
  187.        "XDTB_EntityInfo"
  188.       )
  189.      )
  190.      ("SUB8"
  191.       ("标三四通" "XDTB_PIPEHead1")
  192.      )
  193.     ) ;_结束第一个 tAB
  194.     ;;开始第二个 TAB
  195.     ("TAB1"
  196.      ("MAIN"
  197.       ("标三四通" "XDTB_PIPEHead1" t)
  198.      )
  199.     )
  200.     ;;开始第三个 Tab
  201.     ;;直接菜单,不需要SUB部分,末尾加 T
  202.     ("TAB2"
  203.      ("MAIN"
  204.       ("图层归并"
  205.        "将所有实体设置到指定的图层,并进行图形清理,支持嵌套的图块,所有实体颜色随层。"
  206.        "XDTB_LayerMerge"
  207.        t
  208.       )
  209.       ("图层全开"
  210.        "打开所有图层,包括关闭和冻结的"
  211.        "XDTB_LyrOnAll"
  212.        t
  213.       )
  214.       ("选层保留" "关闭非选择图层" "XDTB_LAYERREV" t)
  215.       ("选层冻结" "支持块内图层" "XDTB_LyrFrozenByPick" t)
  216.       ("冻结隐藏" "冻结所有不可见层" "XDTB_LyrFrozenAllOff" t)
  217.       ("解冻所有" "解冻所有图层" "XDTB_LyrUnFrozenAll" t)
  218.      )
  219.     )
  220.    )
  221. )

点评

没看明白你要做什么,不需要 Tab 标签,只需保留 ("TAB0"),你贴的是带的示例文件  详情 回复 发表于 2014-8-26 17:50
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 593个

财富等级: 财运亨通

发表于 2014-8-26 17:50:59 | 显示全部楼层

没看明白你要做什么,不需要 Tab 标签,只需保留 ("TAB0"),你贴的是示例文件

点评

我只是希望能去掉tab可我在odcl编辑器上改了界面,然后注释了部分代码,结果报错。。 原来版主就考虑过这个情况,只需保留 ("TAB0")真的就可以达到目的,谢谢  详情 回复 发表于 2014-8-26 18:08
("TAB0")这样就够了。。。能达到目的。。。!  发表于 2014-8-26 18:04
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-8-26 18:08:12 | 显示全部楼层
eachy 发表于 2014-8-26 17:50
没看明白你要做什么,不需要 Tab 标签,只需保留 ("TAB0"),你贴的是示例文件

我只是希望能去掉tab可我在odcl编辑器上改了界面,然后注释了部分代码,结果报错。。

原来版主就考虑过这个情况,只需保留 ("TAB0")真的就可以达到目的,谢谢

点评

ODCL 不需要你动,需要改的只是添加图标  详情 回复 发表于 2014-8-26 18:18
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 593个

财富等级: 财运亨通

发表于 2014-8-26 18:18:01 | 显示全部楼层
染指_红颜笑 发表于 2014-8-26 18:08
我只是希望能去掉tab可我在odcl编辑器上改了界面,然后注释了部分代码,结果报错。。

原来版主就考虑 ...

ODCL 不需要你动,需要改的只是添加图标

可自定义的都开放在 lisp  文件,包装的东西你不用关心
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-12-18 23:05 , Processed in 0.440326 second(s), 50 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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