找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

楼主: dyjwyqz5221

[工具] 平面图、详图构件编号校核

[复制链接]

已领礼包: 202个

财富等级: 日进斗金

 楼主| 发表于 2020-6-16 14:16:16 | 显示全部楼层

你看看这个

本帖最后由 dyjwyqz5221 于 2020-6-16 14:22 编辑
newer 发表于 2020-6-16 01:31
转T3后,代码不能用吗

从未出现过的奇怪现象,就这样发生了:
下面的测试,应该没有问题的

(defun c:tt(/ str lst ss-pm ss-xt)
        (if (not *chk-bhtable*)
                (setq *chk-bhtable* "边缘构件")
        );;;if
        ;;;(if (setq *chk-bhtable* (xdrx_ui_combolist "构件类型" "选择构件类型" '("边缘构件" "框架柱") *chk-bhtable*))
                (progn
                        (cond
                                ((= *chk-bhtable* "边缘构件")
                                        (setq str "*[BJ]Z*")
                                )
                                (t
                                        (setq str "*[KLQ]Z*")
                                )
                        );;;cond
                        (setq lst (list ":L" (list '(0 . "text")(cons 1 str))))
                        (and (setq ss-pm (xd::ssget "\n框选平面图:" lst)) (setq ss-xt (xd::ssget "\n框选详图:" lst)))        
                );;;progn
       ;;;);;;if
);;;defun

方法一:复制黏贴代码,从cad命令中加载。运行正常。
命令: TT
框选平面图:
框选详图:T
方法二:从cad下拉菜单的工具->加载引用程序加载,加载正常,运行异常。
命令: _appload 已成功加载 新建文本文档 (2).lsp。
命令:
C:TT
; 1 表格 从 #<file "C:/Users/Administrator/Desktop/整理后的lsp程序 - 新版/新建文本文档 (2).lsp"> 加载
命令:TT
妗嗛
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 202个

财富等级: 日进斗金

 楼主| 发表于 2020-6-16 14:23:22 | 显示全部楼层
方法二:从cad下拉菜单的工具->加载引用程序加载,加载正常,运行异常。
命令: _appload 已成功加载 新建文本文档 (2).lsp。
命令:
C:TT
; 1 表格 从 #<file "C:/Users/Administrator/Desktop/整理后的lsp程序 - 新版/新建文本文档 (2).lsp"> 加载
命令:
命令: TT
妗嗛
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2020-6-16 14:38:47 | 显示全部楼层
意思哥 发表于 2020-6-16 11:38
昨天试了下好像没反应,不知道啥原因,有空再试试!

重新下载下 API ,安装完后,在下载通用LISP函数库,覆盖
再测试下情况

点评

由于cad的加载应用程序的汉字出现乱码,导致比如下面的简单程序加载时,也会出现语法错误。 (defun c:tt1() (if (not *chk-bhtable*) (setq *chk-bhtable* "框架柱") );;;if (setq *chk-bhtable* (xdrx-ui  详情 回复 发表于 2020-6-16 17:06
用你说的方法,重新下载了api并安装了,通用lsp函数库也下载并作了覆盖。b.lsp文件如下: (defun c:tt1() (xd::ssget "框选文字:" '(":L" ((0 . "Text")))) ) 用cad下拉菜单的工具->加载应用程序b.lsp后  详情 回复 发表于 2020-6-16 16:48
好的,谢谢!  详情 回复 发表于 2020-6-16 15:17
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 202个

财富等级: 日进斗金

 楼主| 发表于 2020-6-16 15:17:03 | 显示全部楼层
XDSoft 发表于 2020-6-16 14:38
重新下载下 API ,安装完后,在下载通用LISP函数库,覆盖
再测试下情况

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

使用道具 举报

已领礼包: 202个

财富等级: 日进斗金

 楼主| 发表于 2020-6-16 16:48:19 | 显示全部楼层
XDSoft 发表于 2020-6-16 14:38
重新下载下 API ,安装完后,在下载通用LISP函数库,覆盖
再测试下情况

用你说的方法,重新下载了api并安装了,通用lsp函数库也下载并作了覆盖。b.lsp文件如下:

(defun c:tt1()
        (xd::ssget "框选文字:" '(":L" ((0 . "Text"))))
)


用cad下拉菜单的工具->加载应用程序b.lsp后,运行tt1还是存在问题。


命令: (defun c:tt1()
(_> (xd::ssget "框选文字:" '(":L" ((0 . "Text"))))
(_> )
C:TT1
命令: TT1
框选文字:
nil

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

使用道具 举报

已领礼包: 202个

财富等级: 日进斗金

 楼主| 发表于 2020-6-16 16:51:46 | 显示全部楼层
显示不全,看图片吧
111.png

点评

别用 xd::ssget 改下 xdrx-ssget 配合 xdrx-initssget设置提示字符串和关键字及回调函数 (xdrx-initssget "\n框选文字:") (setq ss (xdrx-ssget '(":L" ((0 . "Text")))))  详情 回复 发表于 2020-6-16 17:05
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2020-6-16 17:05:04 | 显示全部楼层
dyjwyqz5221 发表于 2020-6-16 16:51
显示不全,看图片吧
你出现乱码,应该是编辑器存盘的格式有问题,不是ansi


另外,xd::ssget 是早期的函数,别用 xd::ssget
改下
xdrx-ssget 配合 xdrx-initssget设置提示字符串和关键字及回调函数

(xdrx-initssget "\n框选文字:")
(setq ss (xdrx-ssget  '(":L" ((0 . "Text")))))

点评

这样用不可以吗? (if (and (xdrx-initssget "\n框选平面图:") (setq ss-pm (xdrx-ssget ":L" '((0 . "text") (1 . "*KZ*,*LZ*,*QZ*")))) (xdrx-initssget "\n框选详图:") (setq ss-xt (xdrx-ssget ":L" '((0 .  详情 回复 发表于 2020-6-17 09:22
你太厉害了,我一直用ansi存盘的,昨天要停电了,txt文档里面应该有别的乱码,无意中点击了保存为UTF格式了,结果所有的lsp文件再打开时,军默认为时UTF格式了。 谢谢指点!!!  详情 回复 发表于 2020-6-16 17:51

评分

参与人数 1D豆 +5 收起 理由
dyjwyqz5221 + 5 热心指导奖!

查看全部评分

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

使用道具 举报

已领礼包: 202个

财富等级: 日进斗金

 楼主| 发表于 2020-6-16 17:06:27 | 显示全部楼层
XDSoft 发表于 2020-6-16 14:38
重新下载下 API ,安装完后,在下载通用LISP函数库,覆盖
再测试下情况

由于cad的加载应用程序的汉字出现乱码,导致比如下面的简单程序加载时,也会出现语法错误。
(defun c:tt1()
        (if (not *chk-bhtable*)
                (setq *chk-bhtable* "框架柱")
        );;;if
        (setq *chk-bhtable* (xdrx-ui-combolist "构件类型" "选择构件类型" (list "边缘构件" "框架柱") *chk-bhtable*))
)

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

使用道具 举报

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

使用道具 举报

已领礼包: 202个

财富等级: 日进斗金

 楼主| 发表于 2020-6-16 17:51:36 | 显示全部楼层
XDSoft 发表于 2020-6-16 17:05
你出现乱码,应该是编辑器存盘的格式有问题,不是ansi

你太厉害了,我一直用ansi存盘的,昨天要停电了,txt文档里面应该有别的乱码,无意中点击了保存为UTF格式了,结果所有的lsp文件再打开时,军默认为时UTF格式了。
谢谢指点!!!

点评

这个无所谓厉害的,思维方式 LISP出现乱码,一定是文件编码的问题 尤其是拷贝粘贴正常,文件调入有乱码  详情 回复 发表于 2020-6-16 18:02
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2020-6-16 18:02:18 | 显示全部楼层
dyjwyqz5221 发表于 2020-6-16 17:51
你太厉害了,我一直用ansi存盘的,昨天要停电了,txt文档里面应该有别的乱码,无意中点击了保存为UTF格式 ...

这个无所谓厉害的,思维方式
LISP出现乱码,一定是文件编码的问题
尤其是拷贝粘贴正常,文件调入有乱码
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 202个

财富等级: 日进斗金

 楼主| 发表于 2020-6-17 09:22:46 | 显示全部楼层
XDSoft 发表于 2020-6-16 17:05
你出现乱码,应该是编辑器存盘的格式有问题,不是ansi

这样用不可以吗?

(if (and (xdrx-initssget "\n框选平面图:") (setq ss-pm (xdrx-ssget ":L" '((0 . "text") (1 . "*KZ*,*LZ*,*QZ*"))))
        (xdrx-initssget "\n框选详图:") (setq ss-xt (xdrx-ssget ":L" '((0 . "text") (1 . "*KZ*,*LZ*,*QZ*"))))
        );;;and
        (xdrx_prompt "\n 平面图->" (sslength ss-pm) "\n详图-> " (sslength ss-xt) "个")
)

运行结果:
框选平面图:指定对角点: 找到 60 个
框选平面图:
框选详图:指定对角点: 找到 17 个
框选详图:
平面图->
详图-> 17个T

存在的问题:第一次的选择集ss-pm显示没结果(红色字部分),但在选择过程中是有60个选择的。

另外,测试了下,(xdrx-ssget ":L" '((0 . "text") (1 . "*KZ*,*LZ*,*QZ*")))这样用可以。
(xdrx-ssget '(":L" ((0 . "text") (1 . "*KZ*,*LZ*,*QZ*")))) 不运行。



点评

SSGET 那样用也不行啊 命令: (setq ss (ssget '(":L" ((0 . "text") (1 . "*KZ*,*LZ*,*QZ*"))))) 错误: 错误的点参数 xdrx-ssget 就是 ssget 增强,同 ssget 的用法  详情 回复 发表于 2020-6-17 20:14
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 202个

财富等级: 日进斗金

 楼主| 发表于 2020-6-17 09:43:22 | 显示全部楼层
newer 发表于 2020-6-15 15:44
能否传上来一张测试图

程序已经修改。也附加上了T3图,请测试!

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

使用道具 举报

已领礼包: 202个

财富等级: 日进斗金

 楼主| 发表于 2020-6-17 17:28:10 | 显示全部楼层
程序不大,用到的东西不少,api及通用函数库的变化有可能影响到程序的运行,不过都在前面说明和修改了,望各位测试和使用。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2020-6-17 20:14:54 | 显示全部楼层
dyjwyqz5221 发表于 2020-6-17 09:22
这样用不可以吗?

(if (and (xdrx-initssget "\n框选平面图:") (setq ss-pm (xdrx-ssget ":L" '((0 .  ...

SSGET 那样用也不行啊

命令: (setq ss (ssget '(":L" ((0 . "text") (1 . "*KZ*,*LZ*,*QZ*")))))

错误: 错误的点参数


xdrx-ssget 就是 ssget 增强,同 ssget 的用法

点评

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-26 02:45 , Processed in 0.487650 second(s), 59 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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