明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1790|回复: 4

请教斜切图问题?

[复制链接]
发表于 2005-11-18 14:10:00 | 显示全部楼层 |阅读模式
大量图幅要切割,但只用CAD剪切命令显然工作量太大。extrim后还得用用别的命令,一直想编一个能通过画斜矩形框,从而把框外的图形剪切干净。望高手赐教
发表于 2005-11-18 19:54:00 | 显示全部楼层
 楼主| 发表于 2005-11-21 08:17:00 | 显示全部楼层
谢谢!
 楼主| 发表于 2005-11-21 08:35:00 | 显示全部楼层
<TABLE class=tablebody2 style="TABLE-LAYOUT: fixed; WORD-BREAK: break-all" width="90%" border=0>
<TBODY>
<TR>
<TD style="FONT-SIZE: 9pt; LINE-HEIGHT: 12pt" width="100%">高手,这个lisp程序只能切正矩形里面的的图形,我想要一个能通过画斜矩形框,从而把框外的图形剪切干净。望高手赐教</TD></TR></TBODY></TABLE>
 楼主| 发表于 2005-11-21 08:39:00 | 显示全部楼层

我有一个切正矩形的程请高手帮我改一下,改成选一任意矩形切图程序

(defun c:wSave(/ pzx pys p1 p2 p3 p4 s s1)
  (setq pzx (getpoint "\n选择左下角点(用鼠标直接点取或在命令行输入<x,y>):"))
  (setq pys (getpoint "\n选择右上角点(用鼠标直接点取或在命令行输入<x,y>):"))
  (setq p1 (list (- (car pzx) 0.01) (- (cadr pzx) 0.01)))
  (setq p2 (list (+ (car pys) 0.01) (- (cadr pzx) 0.01)))
  (setq p3 (list (+ (car pys) 0.01) (+ (cadr pys) 0.01)))
  (setq p4 (list (- (car pzx) 0.01) (+ (cadr pys) 0.01)))
  (command "rectang" pzx pys)
  (setq s (ssget "L"))
  (command "trim" s "" "F" p1 p2 "" "F" p2 p3 "" "F" p3 p4 "" "F" p4 p1 "" "")
  (command "erase" s "")
  (setq s1 (ssget "WP" (list p1 p2 p3 p4 p1)))
  (rder s1)
  (setq s nil s1 nil)
  (setvar "FILEDIA" 0)
  (command "SaveAs" "" "d:\\test" "close" "n")
  (setvar "FILEDIA" 1)
  (princ)
);end wSave
  (defun rder(s1 / s2 ent s3 n)
     (setq s2 (ssget "X"))
     (if (not s1) (command "erase" s2 "")
       (progn
  (setq s3 (ssadd) n 0)
  (repeat (sslength s2)
  (setq ent (ssname s2 n))
  (if (not (ssmemb ent s1))
    (ssadd ent s3)
  )
    (setq n (1+ n))
  ) 
    (command "erase" s3 "" "redraw")
  )
       )
   );end rder


 

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

本版积分规则

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

GMT+8, 2024-11-25 19:49 , Processed in 0.214994 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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