找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1050|回复: 7

如何从CAD地形图中复制其中一小块出来?

[复制链接]

已领礼包: 32个

财富等级: 招财进宝

发表于 2018-10-8 09:10:24 | 显示全部楼层 |阅读模式

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

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

×
各位高手,现有一张较大的地形图,我想不用剪截方法取其中的部分内容,而用框选或其它方法复制其中的小部分图内容,有什么好的办法(或插件)吗?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 5295个

财富等级: 富甲天下

发表于 2018-10-8 09:17:01 | 显示全部楼层
http://bbs.xdcad.net/forum.php?m ... 6%B2%BF%B7%C5%B4%F3
这个局部放大的插件应该能够满足你的要求。

点评

全部代码如下: (defun c:XDTB_JBFD (/ e mat mat0 na pj pts scl ss ss1)  (if (and        (s  详情 回复 发表于 2018-10-8 09:19
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 5295个

财富等级: 富甲天下

发表于 2018-10-8 09:19:49 | 显示全部楼层
tzfcn 发表于 2018-10-8 09:17
http://bbs.xdcad.net/forum.php?mod=viewthread&tid=669284&highlight=%BE%D6%B2%BF%B7%C5%B4%F3
这个局 ...

全部代码如下:
(defun&#160;c:XDTB_JBFD&#160;(/&#160;e&#160;mat&#160;mat0&#160;na&#160;pj&#160;pts&#160;scl&#160;ss&#160;ss1)&#160;&#160;(if&#160;(and&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;(setq&#160;e&#160;(car&#160;(xdrx_entsel&#160;"\n选取边界曲线<退出>:"&#160;'((0&#160;.&#160;"*polyline,circle,ellipse,spline")))))&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;(or&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;(xdrx_object_isa&#160;e&#160;"AcDbCircle")&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;(xdrx_object_isa&#160;e&#160;"AcDbEllipse")&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;(=&#160;1&#160;(logand&#160;(xdrx_getentdxf&#160;70)&#160;1))&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;(setq&#160;pts&#160;(xdrx_getsamplept&#160;e))&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;(setq&#160;ss&#160;(ssget&#160;"cp"&#160;pts))&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;(ssdel&#160;e&#160;ss)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;(>&#160;(sslength&#160;ss)&#160;0)&#160;&#160;&#160;&#160;&#160;&#160;)&#160;&#160;&#160;&#160;(progn&#160;&#160;&#160;&#160;&#160;&#160;(setq&#160;pj&#160;(XD::Pnts:Centroid&#160;pts)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;mat0&#160;(xdrx_matrix_identity&#160;3)&#160;&#160;&#160;&#160;&#160;&#160;)&#160;&#160;&#160;&#160;&#160;&#160;(setq&#160;ss&#160;(xdrx_entity_copy&#160;ss))&#160;&#160;&#160;&#160;&#160;&#160;(setq&#160;na&#160;(strcat&#160;"XD_JBFD_"&#160;(xdrx_getrandstr)))&#160;&#160;&#160;&#160;&#160;&#160;(xdrx_block_make&#160;na&#160;ss&#160;pj&#160;t)&#160;&#160;&#160;&#160;&#160;&#160;(apply&#160;'xdrx_insert_clip&#160;(cons&#160;(entlast)&#160;pts))&#160;&#160;&#160;&#160;&#160;&#160;(setq&#160;ss1&#160;(ssadd))&#160;&#160;&#160;&#160;&#160;&#160;(ssadd&#160;(entlast)&#160;ss1)&#160;&#160;&#160;&#160;&#160;&#160;(ssadd&#160;e&#160;ss1)&#160;&#160;&#160;&#160;&#160;&#160;(if&#160;(and&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;(setq&#160;m&#160;(xdrx_drag_move&#160;"\n插入点<退出>:"&#160;ss1&#160;(trans&#160;pj&#160;1&#160;0)))&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;(xdrx_entity_transform&#160;ss1&#160;m)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;(setq&#160;m&#160;(xdrx_drag_scale&#160;"\n输入或拾取点确定缩放比例:"&#160;ss1&#160;(trans&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;(xdrx_drag_getlastpoint)&#160;1&#160;0)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;(progn&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;(xdrx_entity_transform&#160;ss1&#160;m)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;(setq&#160;mat&#160;(xdrx_drag_getlastMatrix)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;scl&#160;(xdrx_matrix_scalefactor&#160;mat)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;(setq&#160;xdrx_block_getattribs&#160;xdrx_insert_getattribs)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;(XD::Entity:SetOverRide&#160;(entlast)&#160;scl)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;)&#160;&#160;&#160;&#160;&#160;&#160;)&#160;&#160;&#160;&#160;)&#160;&#160;)&#160;&#160;(princ))
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 5295个

财富等级: 富甲天下

发表于 2018-10-8 09:22:02 | 显示全部楼层
(defun&#160;c:XDTB_JBFD&#160;(/&#160;e&#160;mat&#160;mat0&#160;na&#160;pj&#160;pts&#160;scl&#160;ss&#160;ss1)&#160;&#160;(if&#160;(and&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;(setq&#160;e&#160;(car&#160;(xdrx_entsel&#160;"\n选取边界曲线<退出>:"&#160;'((0&#160;.&#160;"*polyline,circle,ellipse,spline")))))&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;(or&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;(xdrx_object_isa&#160;e&#160;"AcDbCircle")&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;(xdrx_object_isa&#160;e&#160;"AcDbEllipse")&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;(=&#160;1&#160;(logand&#160;(xdrx_getentdxf&#160;70)&#160;1))&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;(setq&#160;pts&#160;(xdrx_getsamplept&#160;e))&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;(setq&#160;ss&#160;(ssget&#160;"cp"&#160;pts))&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;(ssdel&#160;e&#160;ss)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;(>&#160;(sslength&#160;ss)&#160;0)&#160;&#160;&#160;&#160;&#160;&#160;)&#160;&#160;&#160;&#160;(progn&#160;&#160;&#160;&#160;&#160;&#160;(setq&#160;pj&#160;(XD::Pnts:Centroid&#160;pts)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;mat0&#160;(xdrx_matrix_identity&#160;3)&#160;&#160;&#160;&#160;&#160;&#160;)&#160;&#160;&#160;&#160;&#160;&#160;(setq&#160;ss&#160;(xdrx_entity_copy&#160;ss))&#160;&#160;&#160;&#160;&#160;&#160;(setq&#160;na&#160;(strcat&#160;"XD_JBFD_"&#160;(xdrx_getrandstr)))&#160;&#160;&#160;&#160;&#160;&#160;(xdrx_block_make&#160;na&#160;ss&#160;pj&#160;t)&#160;&#160;&#160;&#160;&#160;&#160;(apply&#160;'xdrx_insert_clip&#160;(cons&#160;(entlast)&#160;pts))&#160;&#160;&#160;&#160;&#160;&#160;(setq&#160;ss1&#160;(ssadd))&#160;&#160;&#160;&#160;&#160;&#160;(ssadd&#160;(entlast)&#160;ss1)&#160;&#160;&#160;&#160;&#160;&#160;(ssadd&#160;e&#160;ss1)&#160;&#160;&#160;&#160;&#160;&#160;(if&#160;(and&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;(setq&#160;m&#160;(xdrx_drag_move&#160;"\n插入点<退出>:"&#160;ss1&#160;(trans&#160;pj&#160;1&#160;0)))&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;(xdrx_entity_transform&#160;ss1&#160;m)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;(setq&#160;m&#160;(xdrx_drag_scale&#160;"\n输入或拾取点确定缩放比例:"&#160;ss1&#160;(trans&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;(xdrx_drag_getlastpoint)&#160;1&#160;0)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;(progn&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;(xdrx_entity_transform&#160;ss1&#160;m)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;(setq&#160;mat&#160;(xdrx_drag_getlastMatrix)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;scl&#160;(xdrx_matrix_scalefactor&#160;mat)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;(setq&#160;xdrx_block_getattribs&#160;xdrx_insert_getattribs)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;(XD::Entity:SetOverRide&#160;(entlast)&#160;scl)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;)&#160;&#160;&#160;&#160;&#160;&#160;)&#160;&#160;&#160;&#160;)&#160;&#160;)&#160;&#160;(princ))

点评

文本格式也是乱糟糟的,只有自己去看了。 (defun c:XDTB_JBFD (/ e mat mat0 na pj pts scl ss ss1) (if (and (setq e (car (xdrx_entsel "\n选取边界曲线:" '((0 . "*polyline,cir  详情 回复 发表于 2018-10-8 09:36
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 5295个

财富等级: 富甲天下

发表于 2018-10-8 09:36:45 | 显示全部楼层
tzfcn 发表于 2018-10-8 09:22
(defun&#160;c:XDTB_JBFD&#160;(/&#160;e&#160;mat&#160;mat0&#160;na&#160;pj&#160;pts&#160;scl&#160;ss& ...

文本格式也是乱糟糟的,只有自己去看了。
(defun c:XDTB_JBFD (/ e mat mat0 na pj pts scl ss ss1)
  (if (and
        (setq e (car
                  (xdrx_entsel "\n选取边界曲线<退出>:" '((0 . "*polyline,circle,ellipse,spline"))
                  )
                )
        )
        (or
          (xdrx_object_isa e "AcDbCircle")
          (xdrx_object_isa e "AcDbEllipse")
          (= 1 (logand (xdrx_getentdxf 70) 1))
        )
        (setq pts (xdrx_getsamplept e))
        (setq ss (ssget "cp" pts)) (ssdel e ss) (> (sslength ss) 0) )
    (progn
      (setq pj (XD::Pnts:Centroid pts) mat0 (xdrx_matrix_identity 3) )
      (setq ss (xdrx_entity_copy ss))
      (setq na (strcat "XD_JBFD_" (xdrx_getrandstr)))
      (xdrx_block_make na ss pj t)
      (apply 'xdrx_insert_clip (cons (entlast) pts))
      (setq ss1 (ssadd)) (ssadd (entlast) ss1)
      (ssadd e ss1)
      (if (and
            (setq m (xdrx_drag_move "\n插入点<退出>:" ss1 (trans pj 1 0)))
            (xdrx_entity_transform ss1 m)
            (setq m (
                      xdrx_drag_scale "\n输入或拾取点确定缩放比例:"
                      ss1 (trans (xdrx_drag_getlastpoint) 1 0)
                    )
            )
          )
        (progn
          (xdrx_entity_transform ss1 m)
          (setq mat (xdrx_drag_getlastMatrix) scl (xdrx_matrix_scalefactor mat) )
          (setq xdrx_block_getattribs xdrx_insert_getattribs)
          (XD::Entity:SetOverRide (entlast) scl)
        )
      )
    )
  )
  (princ)
)

点评

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

使用道具 举报

已领礼包: 5295个

财富等级: 富甲天下

发表于 2018-10-8 09:37:58 | 显示全部楼层
tzfcn 发表于 2018-10-8 09:36
文本格式也是乱糟糟的,只有自己去看了。
(defun c:XDTB_JBFD (/ e mat mat0 na pj pts scl ss ss1)
   ...

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

使用道具 举报

已领礼包: 3904个

财富等级: 富可敌国

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

使用道具 举报

已领礼包: 2826个

财富等级: 家财万贯

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-13 03:53 , Processed in 0.401169 second(s), 43 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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