找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1550|回复: 21

[求助] CAD里很多相同的图怎样批量转换成一个一个的块?

[复制链接]

已领礼包: 125个

财富等级: 日进斗金

发表于 2017-12-18 08:32:51 | 显示全部楼层 |阅读模式

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

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

×
CAD里很多相同的图怎样批量转换成一个一个的块?比如下面的图:每个桩是一个矩形和两条线段组成的,想要把每个桩都转换成块,而且是批量转换成18个块,这种情况怎样编写程序呀?
QQ图片20171218082332.png
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 19个

财富等级: 恭喜发财

发表于 2017-12-18 08:40:51 | 显示全部楼层
桩是一样的,为什么要转成18个块,而不是一个块,然后插入18次?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 2124个

财富等级: 金玉满堂

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

使用道具 举报

已领礼包: 125个

财富等级: 日进斗金

 楼主| 发表于 2017-12-18 12:28:19 | 显示全部楼层

那个图形只是一个列子,转换成18个块的目的是便于给每个桩编号,不能转换成一个块!,可以编写那样的程序吗?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 20个

财富等级: 恭喜发财

发表于 2017-12-18 12:33:19 | 显示全部楼层

不是说让你把所有这18个桩转成一个块, 而是单独的一个桩做成块, 然后其他的17个桩,插入17个相同的块, 和编号有什么冲突? 你这18个桩每个不是一样的吗? 另外,你传个图上来。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 125个

财富等级: 日进斗金

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

使用道具 举报

已领礼包: 125个

财富等级: 日进斗金

 楼主| 发表于 2017-12-18 12:49:32 | 显示全部楼层

是一个一个插入块还是可以批量插入块呀?我需要的是批量操作的,每个桩的位置不变的
请点击此处下载

查看状态:需购买或无权限

您的用户组是:游客

文件名称:桩位图(审图修改).zip 
下载次数:14  文件大小:75.04 KB 
下载权限: 不限 以上  [免费赚D豆]







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

使用道具 举报

已领礼包: 20个

财富等级: 恭喜发财

发表于 2017-12-18 13:14:39 | 显示全部楼层

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

使用道具 举报

已领礼包: 125个

财富等级: 日进斗金

 楼主| 发表于 2017-12-18 14:07:12 | 显示全部楼层

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

使用道具 举报

已领礼包: 125个

财富等级: 日进斗金

 楼主| 发表于 2017-12-18 14:09:12 | 显示全部楼层

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

使用道具 举报

已领礼包: 51个

财富等级: 招财进宝

发表于 2017-12-18 15:59:36 | 显示全部楼层
本帖最后由 Lispboy 于 2017-12-18 16:20 编辑

试试

  1. (defun c:tt ()  (if (and (xdrx_initssget "\n选取封闭的多段线<退出>:")
  2.            (setq ss (xdrx_ssget '((0 . "LWPOLYLINE") (-4 . "&=") (70 . 1))))
  3.       )
  4.     (progn
  5.       (xdrx_begin)
  6.       (setq tf (xd::doc:safezoom ss))
  7.       (setq ents (xdrx_pickset->ents ss))
  8.       (xdrx_statusbar_begin "处理中" (setq nums (sslength ss)))
  9.       (setq i 0)
  10.       (foreach n ents
  11.         (if (and (setq ss1
  12.                         (ssget "cp"
  13.                                (setq pts (xdrx_getpropertyvalue n "vertices"))
  14.                                '((0 . "LWPOLYLINE")
  15.                                  (-4 . "<NOT")
  16.                                  (-4 . "&=")
  17.                                  (70 . 1)
  18.                                  (-4 . "NOT>")
  19.                                 )
  20.                         )
  21.                  )
  22.                  (> (sslength ss1) 0)
  23.             )
  24.           (progn (ssadd n ss1)
  25.             (setq box (xdrx_entity_box n)
  26.                   len (distance (car box)(cadr box))
  27.                   height (distance (cadr box)(caddr box))
  28.                   blkname (strcat "zhuang-" (rtos len 2 0) "x" (rtos height 2 0))
  29.                   inspnt (xd::geom:get9pt n 5))
  30.             (if (xdrx_object_get "block" blkname)
  31.               (progn
  32.                 (xdrx_insert_make blkname inspnt)
  33.                 (xdrx_entity_delete ss1)
  34.               )
  35.               (progn
  36.                 (xdrx_block_make blkname ss1 inspnt t)
  37.               )
  38.             )
  39.           )
  40.         )
  41.         (xdrx_statusbar_setpos (setq i (1+ i)))
  42.       )
  43.       (xdrx_statusbar_end)
  44.       (and tf (xdrx_document_zoomprevious))
  45.       (xdrx_prompt "\n已经将选择的" nums "个封闭多段线转换成块.")
  46.       (xdrx_end)
  47.     )
  48.   )
  49.   (princ)
  50. )

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

使用道具 举报

已领礼包: 125个

财富等级: 日进斗金

 楼主| 发表于 2017-12-18 17:59:50 | 显示全部楼层

老师,您好!你这个程序对多段线的可以,如果是直线组合成的桩就不行,可以优化一下吗?对多段线和直线都通用,可以吗?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 125个

财富等级: 日进斗金

 楼主| 发表于 2017-12-18 18:06:25 | 显示全部楼层

老师,您好!你这个程序对多段线的可以,如果是直线组合成的桩就不行,可以优化一下吗?对多段线和直线都通用,可以吗?
我上传的那个图里有不少是由直线组成的桩,比如下面的图:
细线的每个桩是由6条直线组合成的,怎样可以把由直线组合成的每个桩都批量转换成各个块呀?

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

使用道具 举报

已领礼包: 51个

财富等级: 招财进宝

发表于 2017-12-18 18:07:06 | 显示全部楼层

你画图时候就要有规则, 你方块也用LINE,那怎么和十字的LINE区分? 怎么确定哪个LINE是桩的,哪个是十字的。

现在程序是靠闭合这个属性确定桩,其他的是十字线。

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

使用道具 举报

已领礼包: 51个

财富等级: 招财进宝

发表于 2017-12-18 18:08:54 | 显示全部楼层

转换前, 用 晓东工具箱 曲线菜单下的  线变复线, 先把能闭合的LINE转换成多段线,再用这个程序。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-26 08:59 , Processed in 0.303720 second(s), 60 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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