乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 83|回复: 1

[编程交流] 更多tha的INTERSECT命令

[复制链接]

13

主题

42

帖子

29

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
65
发表于 2022-7-5 17:14:48 | 显示全部楼层 |阅读模式
嘿,伙计们!
 
如果我有3个像图片一样的区域,我希望能够得到2个相交区域(不需要单独做)。现在,我只是犯了一些错误
 
边请求——使用INTERSECT而不删除原始区域的LISP(类似于此LISP用于SUBTRACT命令,或此LISP用于多段线而不是区域)
 
 

                               
登录/注册后可看大图

 
谢谢
181453nx4p77fzq7dgnunc.jpg
回复

使用道具 举报

1

主题

11

帖子

10

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 18:52:57 | 显示全部楼层
我相信这样的事情可能会奏效。
 
 
  1. (defun c:mintersect (/ ss1 curcmdecho curnomutt)
  2.     (defun *error* (errmsg)
  3.          (if (not (wcmatch errmsg "Function cancelled,quit / exit abort,console break,end"))
  4.               (princ (strcat "\nError: " errmsg))
  5.          ) ;_ end if
  6.          (setvar 'cmdecho curcmdecho)
  7.          (setvar 'nomutt curnomutt)
  8.          (vla-endundomark adoc)
  9.     ) ;_ end defun
  10.     (vla-startundomark
  11.          (setq adoc (vla-get-activedocument (setq acadObject (vlax-get-acad-object))))
  12.     ) ;_ end vla-startundomark
  13.     (setq curcmdecho (getvar 'cmdecho)
  14.           curnomutt  (getvar 'nomutt)
  15.     ) ;_ end setq
  16.     (prompt "\nSelect Regions to create intersection :")
  17.     (setq ss1 (ssget '((0 . "REGION"))))
  18.     (prompt "\nPick points where to create intersections :")
  19.     (setvar 'nomutt 1)
  20.     (setvar 'cmdecho 0)
  21.     (command-s "._-boundary" "_a" "_b" "_n" ss1 "" "_o" "_r" "" pause)
  22.     (command "._erase" ss1 "")
  23.     (*error* "end")
  24.     (princ)
  25. ) ;_ end defun
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-8-23 10:11 , Processed in 2.465226 second(s), 60 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表