找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

楼主: 金鹅起飞

[求助] 求框选零件后五金自动生产统计表的LSP程序

[复制链接]

已领礼包: 1268个

财富等级: 财源广进

发表于 2013-11-27 21:28:00 | 显示全部楼层
金鹅起飞 发表于 2013-11-27 21:25
st788796大师:不好意思,忘了告诉您:统计时对零件的外轮廓不管,只是对零件里面的块进行统计汇总。零件 ...

需要轮廓来选择内部块, 所以这个轮廓要确定!

点评

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

使用道具 举报

 楼主| 发表于 2013-11-27 21:31:04 | 显示全部楼层
st788796 发表于 2013-11-27 21:28
需要轮廓来选择内部块, 所以这个轮廓要确定!

实际的图的图层也是“轮廓层”。

点评

(setq ss (ssget '((8 . "轮廓")))) -> (setq ss (ssget '((8 . "轮廓层"))))  详情 回复 发表于 2013-11-27 21:32
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-11-27 21:31:36 | 显示全部楼层
st788796 发表于 2013-11-27 21:28
需要轮廓来选择内部块, 所以这个轮廓要确定!

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

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

发表于 2013-11-27 21:32:08 | 显示全部楼层
金鹅起飞 发表于 2013-11-27 21:31
实际的图的图层也是“轮廓层”。

(setq ss (ssget '((8 . "轮廓"))))
->
(setq ss (ssget '((8 . "轮廓层"))))

点评

st788796大师:刚才替换了“轮廓”和“轮廓层” 分别加载后,都是相同的提示: 命令: tt 选择对象: 指定对角点: 找到 0 个  详情 回复 发表于 2013-11-27 21:41
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-11-27 21:41:43 | 显示全部楼层
st788796 发表于 2013-11-27 21:32
(setq ss (ssget '((8 . "轮廓"))))
->
(setq ss (ssget '((8 . "轮廓层"))))

st788796大师:刚才替换了“轮廓”和“轮廓层”

分别加载后,都是相同的提示:

命令: tt

选择对象: 指定对角点: 找到 0 个


点评

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

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

发表于 2013-11-27 21:47:08 | 显示全部楼层
金鹅起飞 发表于 2013-11-27 21:41
st788796大师:刚才替换了“轮廓”和“轮廓层”

分别加载后,都是相同的提示:

按样图表格生成的文字位置
wj.gif

点评

喔,今天可以看到图片,昨晚不知咋的,看不到。从演示的结果看,st788796大师的程序可以统计出零件A和零件B的五金配件了。我忽然有个想法:请问st788796大师:可不可以这样,不用表格了,框选所有零件,能把相同名称  详情 回复 发表于 2013-11-28 08:11
st788796大师:看不到您上传的图片。  详情 回复 发表于 2013-11-27 21:54
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-11-27 21:54:22 | 显示全部楼层
st788796 发表于 2013-11-27 21:47
按样图表格生成的文字位置

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

使用道具 举报

 楼主| 发表于 2013-11-28 08:11:42 | 显示全部楼层
st788796 发表于 2013-11-27 21:47
按样图表格生成的文字位置

喔,今天可以看到图片,昨晚不知咋的,看不到。从演示的结果看,st788796大师的程序可以统计出零件A和零件B的五金配件了。我忽然有个想法:请问st788796大师:可不可以这样,不用表格了,框选所有零件,能把相同名称的五金配件数量汇总,这个能够实现吗?

点评

这种统计方法太多了,用 XD:ist:GroupByIndex的标准写法  详情 回复 发表于 2013-11-28 09:10
这样比现在代码要省一些  详情 回复 发表于 2013-11-28 08:13
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

发表于 2013-11-28 08:13:47 | 显示全部楼层
金鹅起飞 发表于 2013-11-28 08:11
喔,今天可以看到图片,昨晚不知咋的,看不到。从演示的结果看,st788796大师的程序可以统计出零件A和零 ...

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

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

发表于 2013-11-28 09:10:57 | 显示全部楼层
金鹅起飞 发表于 2013-11-28 08:11
喔,今天可以看到图片,昨晚不知咋的,看不到。从演示的结果看,st788796大师的程序可以统计出零件A和零 ...

这种统计方法太多了,用 XD::List:GroupByIndex的标准写法
  1. (defun c:tt (/ ss ll p)
  2.   (if (setq ss (ssget '((0 . "insert"))))
  3.     (progn
  4.       (setq ll (mapcar
  5.                  '(lambda (x /)
  6.                     (list
  7.                       (car (xdrx_getpropertyvalue
  8.                              x
  9.                              "BlockTableRecord"
  10.                            )
  11.                       )
  12.                       x
  13.                     )
  14.                   )
  15.                  (xdrx_pickset->ents ss)
  16.                )
  17.             ll (mapcar '(lambda        (x)
  18.                           (list (car x) (itoa (length (cdr x))))
  19.                         )
  20.                        (XD::List:GroupByIndex ll 0)
  21.                )
  22.       )
  23.       (if (setq p (getpoint "\nPosition: "))
  24.         (mapcar        '(lambda (x /)
  25.                    (xdrx_text_make p (car x) 18. 0.)
  26.                    (xdrx_text_make
  27.                      (mapcar '+ p '(21. 75. 0.))
  28.                      (cadr x)
  29.                      18.
  30.                      (* pi 0.5)
  31.                    )
  32.                    (setq p (polar p 0. 75.))
  33.                  )
  34.                 ll
  35.         )
  36.       )
  37.     )
  38.   )
  39.   (princ)
  40. )

点评

st788796大师好!昨天太忙,没有时间来试您的程序,今天中午抽时间来试试。发现文字全部重叠在一起,不像您的文字是竖的,我试的时候是横着的,请看图片,那个地方出了问题呢?  详情 回复 发表于 2013-11-29 12:38
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-11-29 12:38:45 | 显示全部楼层
st788796 发表于 2013-11-28 09:10
这种统计方法太多了,用 XD:ist:GroupByIndex的标准写法

st788796大师好!昨天太忙,没有时间来试您的程序,今天中午抽时间来试试。发现文字全部重叠在一起,不像您的文字是竖的,我试的时候是横着的,请看图片,那个地方出了问题呢?
演示1.gif

点评

把后面的 (car x) 和 (cadr x) 写反了,换个位置  详情 回复 发表于 2013-11-29 12:55
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

发表于 2013-11-29 12:55:46 | 显示全部楼层
金鹅起飞 发表于 2013-11-29 12:38
st788796大师好!昨天太忙,没有时间来试您的程序,今天中午抽时间来试试。发现文字全部重叠在一起,不像 ...

把后面的 (car x) 和 (cadr x) 写反了,换个位置

点评

谢谢!我刚才终于换对了,已经可以了。谢谢st788796大师!  详情 回复 发表于 2013-11-29 13:23
把后面的 (car x) 和 (cadr x) 写反了,换个位置 是这样换吗: (list (cdr x) (itoa (length (car x))))  详情 回复 发表于 2013-11-29 13:09
换了之后出现“ 选择对象: 指定对角点: 找到 24 个 选择对象: ; 错误: 参数类型错误: listp "五金9999999"  详情 回复 发表于 2013-11-29 13:06
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-11-29 13:06:56 | 显示全部楼层
st788796 发表于 2013-11-29 12:55
把后面的 (car x) 和 (cadr x) 写反了,换个位置

换了之后出现“

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

使用道具 举报

 楼主| 发表于 2013-11-29 13:09:17 | 显示全部楼层
本帖最后由 金鹅起飞 于 2013-11-29 13:11 编辑
st788796 发表于 2013-11-29 12:55
把后面的 (car x) 和 (cadr x) 写反了,换个位置

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

使用道具 举报

 楼主| 发表于 2013-11-29 13:23:26 | 显示全部楼层
st788796 发表于 2013-11-29 12:55
把后面的 (car x) 和 (cadr x) 写反了,换个位置

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-28 15:19 , Processed in 0.461323 second(s), 57 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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