明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1248|回复: 2

[求助]反剪切扩充

[复制链接]
发表于 2005-9-30 22:42 | 显示全部楼层 |阅读模式

下边的程序,想利用trim 命令过程,将已剪切部分恢复,对矩形对象作不出来,希望帮手

解决:

(defun c:ftrim (/ cm os ort)
  (command "_.undo" "be")
  (setq ob (entsel "\n剪切边:"))
  (while (setq obj (entsel "\n保留部分:"))
    (setq o_data (entget (car obj)))
    (tr o_data)
  )
  (command "_.undo" "e")
  (princ)
)
(defun tr (o_data)
  (command "trim" ob "" obj "")
  (setq n_data (entget (car obj)))
  (setq xen (cdr (assoc 0 O_data)))
  (cond
    ((= xen "LINE")
     (setq ass10 (assoc 10 o_data)
    ass11 (assoc 11 o_data)
     )
     (setq assn10 (assoc 10 n_data)
    assn11 (assoc 11 n_data)
     )
     (cond ((equal assn10 ass10)
     (setq n_data (subst (cons 10 (cdr assn11)) assn10 n_data))
     (setq n_data (subst ass11 assn11 n_data))
     (entmod n_data)
    )
    ((equal assn11 ass11)
     (setq n_data (subst (cons 11 (cdr assn10)) assn11 n_data))
     (setq n_data (subst ass10 assn10 n_data))
     (entmod n_data)
    )
     )
    )
    ((= xen "CIRCLE")
     (setq assn51 (ASSOC 51 n_data)
           assn50 (ASSOC 50 n_data))
     (setq n_data (subst (cons 51
          (cdr assn50)
    )
    assn51
    n_data
    )
     )
     (setq
       n_data
 (subst (cons 50
       (cdr assn51)
        )
        assn50
        n_data
 )
     )
     (entmod n_data)
    )
    ((= xen "ARC")
     (setq ass50 (assoc 50 o_data)
    ass51 (assoc 51 o_data)
     )
     (setq assn50 (assoc 50 n_data)
    assn51 (assoc 51 n_data)
     )
     (cond
       ((equal assn50 ass50)
 (setq n_data (subst (cons 50 (cdr assn51)) assn50 n_data))
 (setq n_data (subst ass51 assn51 n_data))
 (entmod n_data)
       )
       ((equal assn51 ass51)
 (setq n_data (subst (cons 51 (cdr assn50)) assn51 n_data))
 (setq n_data (subst ass50 assn50 n_data))
 (entmod n_data)
       )
     )
    )
    ((= xen "XLINE")
     (setq assn11 (assoc 11 n_data))
     (setq n_data
     (subst (cons 11
    (cons (* -1 (car (cdr assn11)))
          (list (* -1 (cadr (cdr assn11)))
         0.0
          )
    )
     )
     (assoc 11 n_data)
     n_data
     )
     )
     (entmod n_data)
    )
    (T (alert "暂未支持此类实体"))
  )
)

"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2005-10-1 07:37 | 显示全部楼层
呵呵,你好
 楼主| 发表于 2005-10-1 20:16 | 显示全部楼层
无痕发表于2005-10-1 7:37:00呵呵,你好


节日好!

走过路过,不能错过,

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

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-5-18 21:30 , Processed in 0.282634 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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