找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 442|回复: 1

[求助] 数组调用问题

[复制链接]
发表于 2018-1-22 17:21:08 | 显示全部楼层 |阅读模式

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

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

×
这是论坛的一段代码
比如我想调用SUB0里面的   ("增加顶点" "XDTB_PLineAddPnt") 这一行,怎么用代码调用


  • (defun ea_mainmenu_datastru ()
  •   '(("TITLE" "XDCAD") ;_菜单标题
  •     ("LOGO" 103) ;_Logo 图标,不启用仅保留名称
  •     ("TAB0" ("TAB0" "通用") ("TAB1" "专业") ("TAB2" "图层")) ;_根据Tab启用情况增减
  •     ;;以上三行固定格式,不可更改标记名称或省略元素
  •     ;;第一个TAB菜单
  •     ("TAB0"
  •      ;;主菜单, 命令说明和图标可省略
  •      ("MAIN"
  •       ("曲 线 一 " "曲线类工具" 100)
  •       ("曲 线 二 " 100)
  •       "="
  •       ("图块工具" 100)
  •       ("填充工具")
  •       ("标注工具")
  •       ("文字工具")
  •       ("图层工具")
  •       "=" ;_分隔符,固定符号不可更改
  •       ("实体工具")
  •       "="
  •       ("专业工具")
  •      )
  •      ;;第一个子菜单,对应 Main 中次序, 命令说明和图标可省略
  •      ("SUB0"
  •       ("多线清理" "XDTB_PolyCompress")
  •       "="
  •       ("批量倒角" "xdtb_plinebataddfillet")
  •       ("增加顶点" "XDTB_PLineAddPnt")
  •       ("删除顶点" "XDTB_PLineRemovePnt")
  •       ("框删顶点" "XDTB_RemoveVerts")
  •       ("删区间点"
  •        "删除多段线两点间的所有顶点"
  •        "XDTB_PolyLineR2Pnt"
  •       )
  •       ("删除整段" "XDTB_PolylineRSEG")
  •       ("框选断开" "XDTB_CurveCrossBreak")
  •       "="
  •       ("局部偏移" "xdtb_plinesegoffset")
  •       ("成组偏移" "XDTB_CurveGOffset")
  •       ("单线变双" "XDTB_CurveDOffset")
  •       ("内偏延伸" "XDTB_PlineSegOffsetIn")
  •       "="
  •       ("SP转Pline" "XDTB_SPline2PL")
  •       ("曲线转型"
  •        "将二维多段线在普通、FIT、B样条、C样条曲线间批量转换"
  •        "XDTB_PlineConvertType"
  •       )
  •       ("光滑曲线" "XDTB_CURVEFIT")
  •       ("光滑转直" "XDTB_PLineRFIT")
  •       ("线变复线" "XDTB_CURVE_L2PL")
  •       "="
  •       ("融合线段" "XDTB_LineJoin")
  •       ("曲线校正" "XDTB_DrawAdjust")
  •       "="
  •       ("识别内角" "XDTB_PlineInterior")
  •       ("批标线长" "XDTB_Dimlines")
  •      )
  •      ;;第二个子菜单
  •      ("SUB1"
  •       ("删超短线" "XDTB_CurveDelSLine")
  •       ("消除重线" "XDTB_RDUPLINE")
  •       "="
  •       ("自由矩形" "XDTB_RectFree")
  •       ("拓扑造区" "ToPoMkRegion")
  •       ("多线轮廓" "XDTB_PLine2Outline")
  •       "="
  •       ("快速修整" "XDTB_PolylineTrim")
  •       ("自动修剪" "XDTB_CurveAutoRepair")
  •       ("局部加粗" "XDTB_PlineSegWidth")
  •       "="
  •       ("辅助垂线" "XDTB_HelpPerpLine")
  •      )
  •      ("SUB2"
  •       ("图块轮廓" "生成图块轮廓线" "XDTB_Block2Bound" 100)
  •       ("图层至 0"
  •        "所有实体图层变为0层,支持嵌套"
  •        "Xdtb_blockE20"
  •        100
  •       )
  •       ("图块遮罩" "Xdtb_blockmark" 100)
  •       ("修改基点" "动态修改图块插入点" "XDTB_BlockChgBasePnt" 100)
  •       ("动态匹配" "动态块完全匹配" "XDTB_DYNMat")
  •       ("块生外框" "生成UCS包围盒" "XDTB_Block2Box")
  •       ("重命名块" "重新指定名称" "XDTB_BlockRename")
  •       ("块内裁剪" "准确的块轮廓线裁剪边界" "XDTB_BlockTrim")
  •       ("块内改色" "XDTB_BlockRefChgClr")
  •       ("提取轮廓" "交互提取轮廓" "XDTB_BlockSingleBound")
  •       ("提取外框" "交互提取外框" "XDTB_BlockSingleBox")
  •       ("移动实体" "块内实体移动" "XDTB_MoveEntInBlk")
  •       ("块添实体" "XDTB_BlockAppendEntity")
  •       ("比例修复" "XDTB_BlockAdjust")
  •       ("图块合并" "图块合并成匿名块" "XDTB_BlkRefUnion")
  •       ("局部复制" "从XREF,INSERT实体内部抠出实体" "XDTB_CopyN")
  •      )
  •      ("SUB3"
  •       ("快速填充" "XDTB_FastHatch")
  •       ("填充置底" "XDTB_Hatch->Bottom")
  •       ("填充消重" "XDTB_HatchRemoveDup")
  •       ("填充挖洞" "XDTB_Hacth")
  •      )
  •      ("SUB4" ("标分布筋" "XDTB_DimFbgj"))
  •      ("SUB5"
  •       ("同字连线" "XDTB_FindString")
  •       ("文本对齐" "XDTB_TXTAlign")
  •       ("修改文字" "XDTB_TXTChange")
  •       ("沿线写字" "XDTB_TextMkAtLine")
  •      )
  •      ("SUB6"
  •       ("图层归并"
  •        "将所有实体设置到指定的图层,并进行图形清理,支持嵌套的图块,所有实体颜色随层。"
  •        "XDTB_LayerMerge"
  •       )
  •       ("图层全开"
  •        "打开所有图层,包括关闭和冻结的"
  •        "XDTB_LyrOnAll"
  •       )
  •       ("选层保留" "关闭非选择图层" "XDTB_LAYERREV")
  •       ("选层冻结" "支持块内图层" "XDTB_LyrFrozenByPick")
  •       ("冻结隐藏" "冻结所有不可见层" "XDTB_LyrFrozenAllOff")
  •       ("解冻所有" "解冻所有图层" "XDTB_LyrUnFrozenAll")
  •      )
  •      ("SUB7"
  •       ("面域合并" "XDTB_RegionUnion")
  •       ("面域转线" "XDTB_Region2Curves")
  •       ("面域差集" "XDTB_RegionSubtract")
  •       ("面域求交" "XDTB_RegionIntersect")
  •       "="
  •       ("修改颜色" "XDTB_EntityChgClr")
  •       "="
  •       ("实体信息"
  •        "动态鼠标显示实体信息开关命令,开、关交替命"
  •        "XDTB_EntityInfo"
  •       )
  •      )
  •      ("SUB8"
  •       ("标三四通" "XDTB_PIPEHead1")
  •      )
  •     ) ;_结束第一个 tAB
  •     ;;开始第二个 TAB
  •     ("TAB1"
  •      ("MAIN"
  •       ("标三四通" "XDTB_PIPEHead1" t)
  •      )
  •     )
  •     ;;开始第三个 Tab
  •     ;;直接菜单,不需要SUB部分,末尾加 T
  •     ("TAB2"
  •      ("MAIN"
  •       ("图层归并"
  •        "将所有实体设置到指定的图层,并进行图形清理,支持嵌套的图块,所有实体颜色随层。"
  •        "XDTB_LayerMerge"
  •        t
  •       )
  •       ("图层全开"
  •        "打开所有图层,包括关闭和冻结的"
  •        "XDTB_LyrOnAll"
  •        t
  •       )
  •       ("选层保留" "关闭非选择图层" "XDTB_LAYERREV" t)
  •       ("选层冻结" "支持块内图层" "XDTB_LyrFrozenByPick" t)
  •       ("冻结隐藏" "冻结所有不可见层" "XDTB_LyrFrozenAllOff" t)
  •       ("解冻所有" "解冻所有图层" "XDTB_LyrUnFrozenAll" t)
  •      )
  •     )
  •    )
  • )

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

已领礼包: 40个

财富等级: 招财进宝

发表于 2018-1-22 17:49:23 | 显示全部楼层
重新构建下表,把里面的 "=" 变成个关联表 ("=" nil), 然后用 assoc去找你要的。

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-26 17:58 , Processed in 0.301325 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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