找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

楼主: grs432

[已解决] 块与块连线程序求助

[复制链接]

已领礼包: 1268个

财富等级: 财源广进

发表于 2014-11-29 22:43:37 | 显示全部楼层

你还是没有说清楚外部数据是什么格式?是具体产品吗?类型确定后,功率、位置、控制都确定了,还是这几者是任意组合关系?

写到图中是怎么个写法?

点评

哦。。对呀!!我把重点放到UI上了。。数据上没有说清楚。。现在我所要做的是照明行业的东西,所说产品是灯具,,但是只有功率是产品的参数,其它位置和控制都是实际应用中的,都是不同的,所以不打算做数据库,但是  详情 回复 发表于 2014-11-29 23:14
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

 楼主| 发表于 2014-11-29 23:14:35 | 显示全部楼层
本帖最后由 grs432 于 2014-11-29 23:18 编辑
st788796 发表于 2014-11-29 22:43
你还是没有说清楚外部数据是什么格式?是具体产品吗?类型确定后,功率、位置、控制都确定了,还是这几者 ...

哦。。对呀!!我把重点放到UI上了。。数据上没有说清楚。。现在我所要做的是照明行业的东西,所说产品是灯具,,但是只有功率是产品的参数,其它位置和控制都是实际应用中的,都是不同的,所以不打算做数据库,但是如果以后公司要开发整套插件倒是可以考虑个事个数据库。

我现在想把编号,类型,功率,位置,控制的数据各设置为1个txt文档的形式,格式内容就是1行1个数据。只有控制的形式我想做个写到编号后边且单列一层,就是AL-L1(DMX) ,(DMX)是是控制形式。
另处就是将类型,功率,位置,控制的数据写到组属性中,不显示到图纸中,就最后导入到表格中!!


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

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

发表于 2014-11-29 23:19:17 | 显示全部楼层
grs432 发表于 2014-11-29 23:14
哦。。对呀!!我把重点放到UI上了。。数据上没有说清楚。。现在我所要做的是照明行业的东西,所说产品是 ...

还不如做成 Excel 文件,XDGE 解析库读这个飞快

点评

哦,我以为txt快呢!!那就EXCEL的吧!!其实对于我来说一样的。。  详情 回复 发表于 2014-11-29 23:29
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

 楼主| 发表于 2014-11-29 23:29:37 | 显示全部楼层
st788796 发表于 2014-11-29 23:19
还不如做成 Excel 文件,XDGE 解析库读这个飞快

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

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

发表于 2014-11-30 00:07:47 | 显示全部楼层
本帖最后由 st788796 于 2014-11-30 09:33 编辑
grs432 发表于 2014-11-29 23:29
哦,我以为txt快呢!!那就EXCEL的吧!!其实对于我来说一样的。。

你要用 ODCL 可以看看这个界面
ODCL 8.0.0.9
  1. '("YWt6AzpGAADMUJw7BuKT5SUSaztmuYF5BCfOu2jbXN5q1/Yel0fK+yht/J9sUeo8Fb468+LI+SyS"
  2. "Uy6Q+ITaFjsCLN1YiDMdwlggbCEyrmYCja95vU33XBEUKtahAkOTsAItmMZHtZfokODik4CxsrCw"
  3. "kIIBzc2FM1W40PNfhVNA/l2WP1HTbX4AVHuY1XM01Jc6ZGO2XvcYSq4oU0jedyOKFVOXaoPk3NMK"
  4. "iC31OCRZV8PtQLPaRFYDXdOHLh3UuniqLeBq29GZIsvqQTMbG8a6BIRKrSh5k6u2uTWvoWrppjrh"
  5. "WtvZxkgrVi3rwnsUJ3hR/0e2UJTiyB1++a4558N1Jkbv7LOcy992pJxzjeeNDPfUl+M5z+/ArjGB"
  6. "PpfHdw2B0YMKqCF0g+uuIXaD0SFh657TSjDYlpzgVRlR4IWIyondj0XCqwBHN6SM0Nwa3GYwASmW"
  7. "3TzhagQyliH6QBiWW+MGbsAHlJ4hiusWO0Fg2xFx+Jbl2GJDRjfTksNXtAIrluz614Fvl7n7iLKC"
  8. "G9SbtCZR69BWpzCrNS17TamPu2IG7ROslCGlFNs1kkjXZIDNo+VRpDAE2aGm0dJ7kyogRSPJciPt"
  9. "IKSgNJUQvR1R1oNohyQrtKWblavU0wmFhFPrANG2wa2p3TRBUELJPZZo32FtZHeNQttpkW2pP42Y"
  10. "lTSJMNiNkaANPIkzmDGC32Zibpd5M7OTAlUVKUXRsc3jmeIRYbJq3PM5H8hPIc2j3DNdorgZDn2k"
  11. "JmPD5ItE1fMJGhEzwwpNtqu4zAFRbJPZBx5VEnHKyohxBeH3BbiZnCT6m+8RgsQiKAurQi3ftCdV"
  12. "tKtCil8yccN2rT2DNIFUpCqNqm1OQ7tEITF7jq4c27U6gSBSkHnh9Irx+4A6lvH6cKfdoPZWgYya"
  13. "h/CVFQAAQKGhu4DB36quSxyBVQADqvTnJrCkuzot5jJCdeX3iaQgREJl5hb4t7p+HFhct7qj0iMy"
  14. "EnLt9y3O50aLgragp766I07nZj+yOlrnJrikuzod5jKy+bO6oNkAAAVYTo99MlhwvBrccxBYIP23"
  15. "umy6Mjrs99vSIzJK+re6FKYywqHH3xNYTr+RxEpYhmcxHRxuEFhGIx3cd09t7xocdxVpbYsfTM9w"
  16. "SG3lRZgLsXpYRiMd3EQfTJ9bojKOAzsdHG0cWFy3uhyoUFgMwSVyvroPpjKOhZsnvjpLMliGQG1N"
  17. "b0NYkB6THFwJIlt+bZPO5xYXvfIGaeVRbaUeTK/35ve2T98MobeEAFV8o/M9Zr5vZHp5Wzxd/t1C"
  18. "qCOfha17DYZlnEZ/3OypnghGOcYIdLn7Y78kmyFpqH92Jv1XdlbBd2PC9subnqxQip5Oh8npBIlt"
  19. "h8YG9BmevIuvcHkpWDJ51c70kB5rIFCGjRP2cJiNwadj0vAouwTtS1AvGJdf7WK+LjCBqPeV5mok"
  20. "jYmhHKLc9K2D0DBekU8029GZXHFg5DpDSkAQuWoC0msArQbHeu3pOeoAPobJKJZLnIahd1OZRtJu"
  21. "gCCZ2YFLkpiPUjJgq9XAwgcSaItzvqEY25vmV6lmF79zmM096gE4lsM8GfroAsFdiq37m6GlEWDR"
  22. "EmC483Na00+nhuNSPV3Nfs38puvgMTvHrFdBw3VfQA8WCtSlzDuZyJKiyPcMS0SVH6wHK5fUknK3"
  23. "94JwhPjqEGqXcGSr6PU48HQUSgyqDmQZVsPSCgn/F+1KNwRUciMDg2frC46zRUDFzOPDzfuM2TcL"
  24. "7ZRURgMypRPSU6Q0RdeMgxpVi2KqZfrGK073nYUVevfFfu3GfXY4InO8W9BxWA9xHwT3pfS2bQnx"
  25. "9Uatvm/dEGJY9UQR7lQFRkWTJCtBfglxHQgOubE7Xwy5DX1KkIgeBMcFbO+ZENv1RRef9u8pt6Rg"
  26. "I9QUYXVExAJ4Tw2nBHkcEH0ymHBfGFDhr9sRoPavKL+k3NMW9ni9/ZRh9IBBFVluzejTCV6oBlDl"
  27. "uGSxC/UnDc/Ioruk+gtdOKR8qGgXjawSkiMqg3KIrXdjcbyiJLJymOxO5x1YfE5J9A7nHZhLmEgd"
  28. "BOel+bZNKZ0csEgP+pYtOSW/pPAfcnie0DCGUVcK/ma4ENtjT3Kofxxm0l1uvebsjW4dZt0ODeFV"
  29. "+M97WIln+r4DYE/yAzSZab0OwB1nyvai+FAAiG0yuA/uHg9u27QnpQM0QUs9YbGmtIPSZBzhDGqf"
  30. "iFciAKLZmpItqsG4lwO0VcbHhWqjoA/h3KtRsUA7U4F/ZTgg5w==")

huilu.odcl.lsp

huilu.odcl.lsp


如果右面先产品一样四个参数一体,就可以用 Grid 控件
20141130093059.jpg

点评

st788796老师,经过这几天使用和测试,有个问题要更新一下,首先我要表示这事怪我没有考虑到,真的是不好意思!”回路连线工具“中将块名记录到文字的xdata,我想改成块边上的的编号(编  详情 回复 发表于 2014-11-30 21:05
我打开看了,,没有问题的。。UI界面这样子看起来更舒服简介,在使用上也不会占用太大面积。我很喜欢!!  详情 回复 发表于 2014-11-30 09:56
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

 楼主| 发表于 2014-11-30 09:56:38 | 显示全部楼层
st788796 发表于 2014-11-30 00:07
你要用 ODCL 可以看看这个界面
ODCL 8.0.0.9

我打开看了,,没有问题的。。UI界面这样子看起来更舒服简介,在使用上也不会占用太大面积。我很喜欢!!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

 楼主| 发表于 2014-11-30 21:05:04 | 显示全部楼层
st788796 发表于 2014-11-30 00:07
你要用 ODCL 可以看看这个界面
ODCL 8.0.0.9

st788796老师,经过这几天使用和测试,有个问题要更新一下,首先我要表示这事怪我没有考虑到,真的是不好意思!{:soso_e127:}{:soso_e112:}”回路连线工具“中将块名记录到文字的xdata,我想改成块边上的的编号(编号和块名是一样的)记录到文字的xdata,因为在使用过程中有的设备不是块,是普通的多段线,但是会有编号在边上

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

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

发表于 2014-11-30 21:32:33 来自手机 | 显示全部楼层
grs432 发表于 2014-11-30 21:05
st788796老师,经过这几天使用和测试,有个问题要更新一下,首先我要表示这事怪我没有考虑到,真的是不好 ...

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

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

发表于 2014-11-30 21:33:13 来自手机 | 显示全部楼层
grs432 发表于 2014-11-30 21:05
st788796老师,经过这几天使用和测试,有个问题要更新一下,首先我要表示这事怪我没有考虑到,真的是不好 ...

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

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

发表于 2014-12-1 08:29:09 | 显示全部楼层
grs432 发表于 2014-11-30 21:05
st788796老师,经过这几天使用和测试,有个问题要更新一下,首先我要表示这事怪我没有考虑到,真的是不好 ...

插件已更新

1 界面更新(因为没有数据格式,展示只有参数界面没有数据)
2 支持选择图块和文字
3 文字高度按界面输入高度

点评

我现在在测试,界面数据是我自己做个EXCEL文件吗?格式是按照您发的那个UI界面下边的表格,数据表要和插件放到1个文件夹吗?数据表的名字是什么?  详情 回复 发表于 2014-12-1 10:42
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

 楼主| 发表于 2014-12-1 10:42:15 | 显示全部楼层
st788796 发表于 2014-12-1 08:29
插件已更新

1 界面更新(因为没有数据格式,展示只有参数界面没有数据)

我现在在测试,界面数据是我自己做个EXCEL文件吗?格式是按照您发的那个UI界面下边的表格,数据表要和插件放到1个文件夹吗?数据表的名字是什么?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

发表于 2014-12-1 11:00:28 | 显示全部楼层
grs432 发表于 2014-12-1 10:42
我现在在测试,界面数据是我自己做个EXCEL文件吗?格式是按照您发的那个UI界面下边的表格,数据表要和插 ...

数据文件当然要你自己组织,应该方便以后扩充

点评

哦,我刚才没有说明白,我是说我按照那个UI下边的表格形式设置了,不知道怎样能将它与程序连接到一起,现在能直接用吗?? [attachimg]11754[/attachimg] [attachimg]11755[/attachimg]  详情 回复 发表于 2014-12-1 11:05
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

 楼主| 发表于 2014-12-1 11:05:07 | 显示全部楼层
st788796 发表于 2014-12-1 11:00
数据文件当然要你自己组织,应该方便以后扩充

哦,我刚才没有说明白,我是说我按照那个UI下边的表格形式设置了,不知道怎样能将它与程序连接到一起,现在能直接用吗??我按下边的设置了,页面上没有加载的数据
QQ截图20141201110328.png
QQ截图20141201110338.png

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

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

发表于 2014-12-1 11:42:22 | 显示全部楼层
grs432 发表于 2014-12-1 11:05
哦,我刚才没有说明白,我是说我按照那个UI下边的表格形式设置了,不知道怎样能将它与程序连接到一起,现 ...

加入控制语句才能使用,还有这几个数据的默认值如何使用?
需使用1130的lisp函数库,词典位于 support 路径,名称 circuitdict.xls
  1. (defun c:XDTB_DrawCircuit (/            myerr    _Odcl_AddList     olderr
  2.                            tf            str             num      allpres  maxnums
  3.                            cPrefix  p             pts      p               d
  4.                            pl            pl1             p1              str      tf
  5.                            strl            tf1             tf3      tf2      txt
  6.                            blklst   blk             circuitdict       cpower
  7.                            cposition             ctype    ccontrol
  8.                           )
  9.   (defun myerr (msg)
  10.     (princ "\n*cancel*")
  11.     (setq *error* olderr)
  12.     (if        (dcl_form_isactive huilu_form1)
  13.       (dcl_form_close huilu_form1)
  14.     )
  15.     (xdrx_sysvar_pop)
  16.     (princ)
  17.   )
  18.   (defun _Excel:getFromFile (fn / lst)
  19.     (setq lst (xd::excel:getFromFile (findfile fn) 0)
  20.           lst (mapcar '(lambda (x)
  21.                          (mapcar '(lambda (a)
  22.                                     (cadr a)
  23.                                   )
  24.                                  x
  25.                          )
  26.                        )
  27.                       lst
  28.               )
  29.     )
  30.     (list (mapcar 'car lst)
  31.           (mapcar 'cadr lst)
  32.           (mapcar 'caddr lst)
  33.           (mapcar 'cadddr lst)
  34.     )
  35.   )
  36.   (defun _Odcl_AddList (/)
  37.     (dcl_ComboBox_AddList huilu_Form1_allPre allPres)
  38.     (dcl_combobox_setcursel
  39.       huilu_Form1_allPre
  40.       (vl-position
  41.         (vlax-ldata-get "XD_Circuit_Dict" "cPrefix")
  42.         allPres
  43.       )
  44.     )
  45.   )
  46.   (defun c:huilu_Form1_OnInitialize (/ lst)
  47.     (dcl_combobox_addlist
  48.       huilu_form1_type
  49.       (mapcar 'vl-princ-to-string
  50.               (cdr (assoc "类型" circuitdict))
  51.       )
  52.     )
  53.     (dcl_combobox_addlist
  54.       huilu_form1_power
  55.       (mapcar 'vl-princ-to-string
  56.               (cdr (assoc "功率" circuitdict))
  57.       )
  58.     )
  59.     (dcl_combobox_addlist
  60.       huilu_form1_position
  61.       (mapcar 'vl-princ-to-string
  62.               (cdr (assoc "位置" circuitdict))
  63.       )
  64.     )
  65.     (dcl_combobox_addlist
  66.       huilu_form1_control
  67.       (mapcar 'vl-princ-to-string
  68.               (cdr (assoc "控制" circuitdict))
  69.       )
  70.     )
  71.     (apply 'dcl_control_setpos
  72.            (cons huilu_form1 (last (xdrx_document_pixelbox)))
  73.     )
  74.     (_Odcl_AddList)
  75.     (dcl_control_settext
  76.       huilu_form1_numCur
  77.       (itoa (vlax-ldata-get
  78.               "XD_Circuit_Dict"
  79.               (vlax-ldata-get "XD_Circuit_Dict" "cPrefix")
  80.             )
  81.       )
  82.     )
  83.     (dcl_control_settext
  84.       huilu_form1_strPre
  85.       (vlax-ldata-get "XD_Circuit_Dict" "cPrefix")
  86.     )
  87.     (dcl_combobox_setcursel
  88.       huilu_form1_layer
  89.       (vl-position
  90.         (getvar "clayer")
  91.         (mapcar 'car (xd::object:get "layer"))
  92.       )
  93.     )
  94.     (dcl_Control_SetJustification huilu_Form1_height 1)
  95.     (dcl_control_settext huilu_form1_height "2.5")
  96.   )
  97.   (defun c:huilu_Form1_strPre_OnEditChanged (NewValue /)
  98.     (if        (not (member newvalue allPres))
  99.       (progn
  100.         (setq allPres (acad_strlsort (cons newvalue allPres)))
  101.         (vlax-ldata-put "XD_Circuit_Dict" newvalue 1)
  102.         (_Odcl_AddList)
  103.         (dcl_control_settext huilu_form1_numCur "1")
  104.         (vlax-ldata-put "XD_Circuit_Dict" "cPrefix" newvalue)
  105.       )
  106.     )
  107.   )
  108.   (defun c:huilu_Form1_numCur_OnEditChanged (NewValue /)
  109.     (vlax-ldata-put
  110.       "XD_Circuit_Dict"
  111.       (dcl_control_gettext huilu_form1_strPre)
  112.       (atoi newvalue)
  113.     )
  114.   )
  115.   (defun c:huilu_Form1_allPre_OnSelChanged (ItemIndexOrCount Value /)
  116.     (dcl_control_settext huilu_form1_strPre value)
  117.     (dcl_control_settext
  118.       huilu_form1_numCur
  119.       (vlax-ldata-get "XD_Circuit_Dict" value)
  120.     )
  121.     (vlax-ldata-put "XD_Circuit_Dict" "cPrefix" value)
  122.   )
  123.   (setq        strl
  124.          '("YWt6A/JEAADJVrlxBuKT5ScSaytmuYFpNOe0KC4Ue+m1XNwmkjxJLxw6bv88E91LHDwFpaU7xKdo"
  125.            "9N6qFtxa1oZcZEqvSQMOv7pTQMYqYYqzOWFyj68670lLUKqRRYlEDbBJC9i946DH7BdNw41BGZiy"
  126.            "540DwRGwg5gKt6r7VxrJB8NG9kCKraF6/hGZfVvCPSsVFa/2VNov/WoDSNx8Y9Y7S0QXEW3ENqut"
  127.            "IPQ0SNfDeKQ1rRFL10QKrWfjygsbUEu7Uyjt1NrdVZfN70DHu0QUzSXLJj0pnwhkF9HkFFTWwvRA"
  128.            "raowY+Pt2FWqrhlTtM7+ZZvwUN5zVR9bTnmnYcDTk2a8dniWApURahlVbALsi9Su+fpAXIrqrqF1"
  129.            "QxCWa+PGa7DekPmt7YOm9T+iPSVhuBaV3l2EDvqQtQQ3yofSrrt3LYFXlHF1g0vog0Vkpx/PJC56"
  130.            "k7nkLr3ZAABalSbt5hmqUQ2UQRhDSR/gge8t0Yp5PAFWioU8gVuEzbhOHq+nhbFBCYiaGbnSEfIM"
  131.            "JpXjCOQXMUd8iYJ0UA9HPI8IZIJwZAAINdWhwNgUvUReiv6jCJwpYO1fL4HOrq1yjWImiFOTC8TE"
  132.            "4AvPr8tH7dO9F5VMGWaGHulnePMNaEjfazekBJf4hJdJ98WWEfEf0J0CoAwfwBg5wbKEIDkN+dOV"
  133.            "+6Cdlk3SCXeNk2jEN5bjPF0foNlKlXMcYkpNwX6zsjXGurWyK0fk29YSnMmoMTHioOlxrdbfqDLN"
  134.            "XR/kmAtqyBegGmNMK7Sqov070kjEMsPlcuMsHTLYIFZ8oUJvVqFrixF1g/CuEXdjCLpGX6RBGaEl"
  135.            "OCEO8Ckdg/VGgRmySYokD4AH2UHUoHl7h25WbFDQ34xKom/yL8+w9j6A4A7pzk6Eupe1R5DV+CtX"
  136.            "yc0/ytUfyGJYGOV7GBUmgVqiIL0QSzKSMF96knweKHBz9bsinPs7C+YYEfmlkjNT5o5MxawHTkV5"
  137.            "dlHNjeo+SYUTvJIVA7LAddinee4BzblvsEW8pyZW+Ym83FgyUhSfuJzwKjexgV9kjGaWJhJvJtKN"
  138.            "vxxqWGilbh0vziYivbR19TPNQzdGhKb3SOkH2oeCzu+Y6pjtmOuYcnVFFygXCJdorBPaJZv+j1oy"
  139.            "8uG5ShDYHwP2lYOiMsTbcn0MAJeZ6PtE98ToNcLO1nNt9X0OHY8ktU3dT2hPaMm9upxWXLqcRFCP"
  140.            "vNxQMlLkT7MJ9cP9bU9onx2PezJSMLxl9Q869bt9Ts8WOfomWse6dfWETs/W+WX1SUSVJBxSnNm7"
  141.            "XU7PxmVvHM/0NcLOFnZtdbAFN1KkiAMJRLhcAlJA+fd7wfyPvJxO3LucSjJSBgRhd2hbys3qNVQj"
  142.            "JgpWFUkd+iGGsIJrK3MVtU9rYRArR4sj0hmfK+u05+FskxC9PN0jsxtUH8Qy7IjSzLKFB4WGUXv0"
  143.            "5HXXKTfL3ADrTr84szqiwDnoFGbYNZI+dlDvvdVM+zbxPhaPUhnjpDqFbJ8sPdGMJMXexREYWz3V"
  144.            "jODTCjh512AsI85g9F6xuyma9vhTUJY4TzhD4GcKyXaZ1YKRa20B9hnrxGtzpHknmYT4Ghc21594"
  145.            "DyNzDOs06+4RbombeYezfOx03xFsqYl1fGCugUCfc4MI5q7xXnqWZTsB/TxRmVkA1xZNVtKI/CwJ"
  146.            "kXLqpXY8ICBaznJFzto64fF1U30xpFluw1wK4L32qxMgsXBVlA+ZcFX9Gvd/ZJ39SoxHpEnIMz6l"
  147.            "mk/yQfcOvcbkxbsfokny1ZfFaLirikCcThD5+rXHumNspgADGskgdMAPNsYaPXwB4XdNWrI7Sl8/"
  148.            "Y9H7+mEe+HqLi1e67t5McEf6+mkf+PpL9khayl1lbKYP0ZrsZSP1rgUWCE46DfofCTAUr9vLol4W"
  149.            "5DF9NFMXC9NVgpQmQCi0MnU3/pvHm3cR2StV00vZM1x62etH9gtcJnsOHOB5phfVjDL3CpwAhGSP"
  150.            "VvOXNt8ZUYyBauQHbDFDS8pa4CTHJv43wnjmcNFiQj5sMUfCCWzRGlW7un/alpHjymOYK6J/rAQH"
  151.            "P1R+PDE+PZZUUA9fKko4fnN5tYRAe8bNwOxBlz7suTwDT2+qPxtijuXINvnrD70R5JxpKfwY110C"
  152.            "T+z69/W8WTwipN+fzPw1ojHiH3R1nedZsLL/lzty8qOxZub1eBhNMh5gOX9/zew1Ir4mcrIWiOE0"
  153.            "+U5meuVD9s/PhWcdDa+monlt5TBqbkgpDfd15YfjdOhPi1vDQZkpjE9KzXDzJD8Adz8tFjVqhh8e"
  154.            "mcoGzqNH0zsXPPjpCYvtYRBzeu45cNbklfU7ORv0MtiudGveYowzK3dtZiDwk8uS9IFnQDR5YPqX"
  155.            "vkVPdXDiPQDVSoWHcaUvJQM="
  156.           )
  157.   )
  158.   (if (and (not (setq tf (vlax-ldata-list "XD_Circuit_Dict")))
  159.            (progn
  160.              (princ "\n**当前图形未包含初始数据**")
  161.              t
  162.            )
  163.            (setq str (getstring "\n前缀: "))
  164.            (setq num (getint "\n编号: "))
  165.       )
  166.     (progn
  167.       (vlax-ldata-put "XD_Circuit_Dict" str num)
  168.       (vlax-ldata-put "XD_Circuit_Dict" "cPrefix" str)
  169.       (setq tf t)
  170.     )
  171.   )
  172.   (if tf
  173.     (progn
  174.       (setq
  175.         allPres            (acad_strlsort
  176.                       (vl-remove-if
  177.                         '(lambda (x) (= x "cPrefix"))
  178.                         (mapcar 'car (vlax-ldata-list "XD_Circuit_Dict"))
  179.                       )
  180.                     )
  181.         circuitdict (_excel:getfromfile "circuitdict.xls")
  182.       )
  183.       (dcl_project_import strl)
  184.       (dcl_form_show huilu_form1)
  185.       (setq olderr  *error*
  186.             *error* myerr
  187.             tf1            t
  188.       )
  189.       (xdrx_sysvar_push '("osmode" 64))
  190.       (while (and tf1
  191.                   (dcl_form_isactive huilu_form1)
  192.              )
  193.         (setq tf2 t
  194.               pts nil
  195.               pl nil
  196.               blklst nil
  197.         )
  198.         (while
  199.           (and tf2
  200.                (progn
  201.                  (initget 128 "E U")
  202.                  (setq
  203.                    p (if pts
  204.                        (getpoint (car pts) "\r下一点[回退(U)/退出(E)]: ")
  205.                        (getpoint "\r起点[退出(E)]: ")
  206.                      )
  207.                  )
  208.                )
  209.                (dcl_form_isactive huilu_form1)
  210.           )
  211.            (if (listp p)
  212.              (progn
  213.                (setq pts (cons p pts))
  214.                (if (= (length pts) 2)
  215.                  (progn
  216.                    (setq p (getpoint (apply 'xdrx_line_midp pts) "\n弦高: ")
  217.                          d (* 2
  218.                               (xdrx_point_dist2line p (cadr pts) (car pts))
  219.                            )
  220.                    )
  221.                    (setq pl (xdrx_polyline_make (cadr pts) (car pts)))
  222.                    (xdrx_polyline_setbulgeat
  223.                      pl
  224.                      0
  225.                      (/ d (apply 'distance pts))
  226.                    )
  227.                  )
  228.                )
  229.                (if (setq ss (xdrx_pickset_getatpoint
  230.                               (car pts)
  231.                               '((0 . "insert"))
  232.                             )
  233.                    )
  234.                  (setq blklst (mapcar '(lambda (x)
  235.                                          (car (xdrx_getpropertyvalue
  236.                                                 x
  237.                                                 "BlockTableRecord"
  238.                                               )
  239.                                          )
  240.                                        )
  241.                                       (xdrx_pickset->ents ss)
  242.                               )
  243.                  )
  244.                )
  245.                (if (and pl (> (length pts) 2))
  246.                  (progn        (setq n (xdrx_polyline_numverts pl))
  247.                         (xdrx_polyline_setpointat pl (1- n) (car pts))
  248.                         (xdrx_polyline_addvertexat pl (1- n) (cadr pts))
  249.                         (xdrx_polyline_setbulgeat
  250.                           pl
  251.                           (- n 2)
  252.                           (/ d (distance (cadr pts) (caddr pts)))
  253.                         )
  254.                         (xdrx_polyline_setbulgeat
  255.                           pl
  256.                           (1- n)
  257.                           (/ d (distance (car pts) (cadr pts)))
  258.                         )
  259.                  )
  260.                )
  261.                (setq tf3 t)
  262.              )
  263.              (cond
  264.                ((= p "E")
  265.                 (setq tf1 nil
  266.                       tf2 nil
  267.                 )
  268.                )
  269.                ((= p "U")
  270.                 (if pl
  271.                   (progn (xdrx_polyline_removevertexat
  272.                            pl
  273.                            (1- (xdrx_polyline_numverts pl))
  274.                          )
  275.                          (setq pts (cdr pts))
  276.                   )
  277.                 )
  278.                 (setq tf3 nil)
  279.                )
  280.                (t
  281.                 (setq tf2 nil
  282.                       tf3 t
  283.                 )
  284.                )
  285.              )
  286.            )
  287.         )
  288.         (if (and tf1
  289.                  tf3
  290.                  pl
  291.                  (dcl_form_isactive huilu_form1)
  292.                  (if (setq p (getpoint "\n引出点<回车端点>: "))
  293.                    (progn (setq tf nil) p)
  294.                    (setq tf t
  295.                          p  (xdrx_curve_getendpoint pl)
  296.                    )
  297.                  )
  298.                  (setq p1 (getpoint p "\n标注点: "))
  299.                  (dcl_form_isactive huilu_form1)
  300.                  (setq str
  301.                         (strcat        (dcl_control_gettext huilu_form1_strPre)
  302.                                 (dcl_control_gettext huilu_form1_numCur)
  303.                         )
  304.                  )
  305.             )
  306.           (progn
  307.             (setq ctype            (nth (dcl_combobox_getcursel huilu_form1_type)
  308.                                  circuitdict
  309.                             )
  310.                   cposition (nth
  311.                               (dcl_combobox_getcursel huilu_form1_position)
  312.                               circuitdict
  313.                             )
  314.                   cpower    (nth (dcl_combobox_getcursel huilu_form1_power)
  315.                                  circuitdict
  316.                             )
  317.                   ccontrol  (nth (dcl_combobox_getcursel huilu_form1_control)
  318.                                  circuitdict
  319.                             )
  320.             )
  321.             (setq txt (xdrx_text_make
  322.                         p1
  323.                         (strcase str)
  324.                         (distof (dcl_control_gettext huilu_form1_height))
  325.                         0.0
  326.                       )
  327.                   pl1 (xdrx_polyline_make p p1)
  328.             )
  329.             (xdrx_polyline_setbulgeat pl1 0 0.5)
  330.             (if        (and blklst (apply '= blklst))
  331.               (xdrx_xdata_setbyproperty
  332.                 txt
  333.                 "XDCircuit"
  334.                 "String"
  335.                 (car blklst)
  336.               )
  337.               (if (setq
  338.                     blk
  339.                      (car (xdrx_entsel
  340.                             "\n拾取图块或文字: "
  341.                             '((0 . "insert,*text"))
  342.                           )
  343.                      )
  344.                   )
  345.                 (xdrx_xdata_setbyproperty
  346.                   txt
  347.                   "XDCircuit"
  348.                   "String"
  349.                   (if (= (xdrx_getpropertyvalue blk "IsA")
  350.                          "AcDbBlockReference"
  351.                       )
  352.                     (car (xdrx_getpropertyvalue blk "BlockTableRecord"))
  353.                     (xdrx_getpropertyvalue blk "textString")
  354.                   )
  355.                 )
  356.               )
  357.             )
  358.             (xdrx_group_make "*" pl txt pl1)
  359.             (vlax-ldata-put
  360.               txt
  361.               "Circuit"
  362.               (xdrx_getpropertyvalue pl "Handle")
  363.             )
  364.             (vlax-ldata-put
  365.               "XD_Circuit_Dict"
  366.               (dcl_control_gettext huilu_form1_strPre)
  367.               (1+ (atoi (dcl_control_gettext huilu_form1_numCur)))
  368.             )
  369.             (dcl_control_settext
  370.               huilu_form1_numCur
  371.               (itoa (vlax-ldata-get
  372.                       "xd_circuit_dict"
  373.                       (dcl_control_gettext huilu_form1_strPre)
  374.                     )
  375.               )
  376.             )
  377.           )
  378.         )
  379.       )
  380.       (dcl_form_close huilu_form1)
  381.       (xdrx_sysvar_pop)
  382.       (setq *error* olderr)
  383.     )
  384.   )
  385.   (princ)
  386. )

点评

[attachimg]11758[/attachimg] 测试中,控制的选项是没有写到图层上的。  详情 回复 发表于 2014-12-1 12:27
我似乎看到了麻烦,XDTB_CalCircuit的统计程序是不是也要重写呀!唉!老这样子的让st788796老师给改来改去的,真心过瘾不去呀!不知道st788796老师有没有心烦。  详情 回复 发表于 2014-12-1 12:12
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

 楼主| 发表于 2014-12-1 12:12:45 | 显示全部楼层
st788796 发表于 2014-12-1 11:42
加入控制语句才能使用,还有这几个数据的默认值如何使用?
需使用1130的lisp函数库,词典位于 support  ...

我似乎看到了麻烦,XDTB_CalCircuit的统计程序是不是也要重写呀!唉!老这样子的让st788796老师给改来改去的,真心过瘾不去呀!不知道st788796老师有没有心烦。{:soso_e110:}
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-27 19:19 , Processed in 0.211385 second(s), 56 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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