cad剪裁地形图lisp_晓东CAD家园-论坛-A/VLISP-关于如何计算XClip剪裁边界顶点坐标的研究-我们知道,对于图块的边界剪裁,可以使用XClip命令,使得剪裁边界之外的部分不可见!我们可...

;;修改XCLIP边界(defun c:tt ()(while(and(setq e (car(entsel "\n选择剪裁块:")))(setq Poly (car(entsel "\n选择剪裁边界:"))))(gxl-EditXclipBoundary e poly))(princ));;(gxl-EditXclipBoundary ENAME BOUNDARY) 重构XCLip的剪裁边界,参...
摘要由CSDN通过智能技术生成

;;修改XCLIP边界

(defun c:tt ()

(while

(and

(setq e (car(entsel "\n选择剪裁块:")))

(setq Poly (car(entsel "\n选择剪裁边界:")))

)

(gxl-EditXclipBoundary e poly)

)

(princ)

)

;;(gxl-EditXclipBoundary ENAME BOUNDARY) 重构XCLip的剪裁边界,参数 ENAME=剪裁块图元 BOUNDARY=点表或多段线图元

;;(gxl-EditXclipBoundary (car(entsel "\n选择剪裁块:")) (car(entsel "\n选择剪裁边界:")))

(defun gxl-EditXclipBoundary (ENAME BOUNDARY        /       ISXCLIP

PTLIST  PLIST   EL      M0

DXF40   M1      M       N

)

(defun IsXClip (ename / xdict)

(if

(setq xdict (cdr (assoc 360 (entget ename))))

(IsXClip xdict)

(if

(eq "SPATIAL_FILTER"

(cdr (assoc 0 (setq ename (entget ename))))

)

ename

)

)

)

(if (= 'ename (type Boundary))

(setq PList (gxl-get_poly_ptList3 Boundary 0.05))

(if (= 'list (type Boundary))

(setq pList Boundary)

)

)

(if (and (setq el (IsXCLIP ename))

PList

)

(progn

;;计算图块的逆转换矩阵 Ref-> Del

(setq m0 (apply 'MAT:DISPTOMATRIX (MAT:RevRefGeom ename)))

;;计算剪切边界顶点转换到图块定义的矩阵

(setq dxf40 (vl-remove-if-not '(lambda (x) (= (car x) 40)) el) ) ;_ 矩阵数据表     (if (= 1 (cdr (assoc 72 el))) (setq dxf40 (cdr dxf40)))

(setq m1

(list

(mapcar 'cdr

(list (nth 0 dxf40)

(nth 1 dxf40)

(nth 2 dxf40)

(nth 3 dxf40)

)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值