明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3460|回复: 18

怎样用LISP程序填充多条LWPOLYLINE线相交的部分?

  [复制链接]
发表于 2002-12-24 08:47:00 | 显示全部楼层 |阅读模式
大师们,还有一问题,我想用LISP程序填充多条LWPOLYLINE线相交的部分,不知大师们有兴趣吗?以下是示意图。

本帖子中包含更多资源

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

x
发表于 2002-12-24 10:41:00 | 显示全部楼层

!

此问题基本上没有什么意义,不如直接用CAD的hatch命令,如你提供的图示,全是封闭区域,没法判断何处要填充,如要一一选择,这与hatch有何区别?
 楼主| 发表于 2002-12-24 12:10:00 | 显示全部楼层

相交实体如何填充

如果要填充的线非常的多,一个一个选就非常麻烦。
而且CAD里好象不可以填充相交的部分。
 楼主| 发表于 2002-12-25 09:40:00 | 显示全部楼层

还有高手知道这个问题吗?

发表于 2002-12-25 09:46:00 | 显示全部楼层

选取内部点

选取内部点,CAD在填充时,若是断开的,它会自动搜索,进行封闭, 像你提供的图形,两条pline线,全是相交封闭区域,用hatch命令去执行,若仅选两pline线,则全部被填充了,我做了这么长时间的程序,还没想到,lsp能智能到可以辨别填充当中的眼睛,而不填充两侧的脑袋,即使用孤岛理论,那也只能区别包涵与被包涵的关系,而区别不了并列的关系,所以必须选取内部点,这个工作谁来完成?人,只有人才能识别。当然,也许别用高招,若你得知,望能告知在下,不胜感激!
 楼主| 发表于 2002-12-25 10:27:00 | 显示全部楼层

太深奥了,如果不考虑眼睛呢?

发表于 2002-12-25 11:48:00 | 显示全部楼层

可考虑用_intersect(把PL先转为REGION)

 楼主| 发表于 2002-12-25 14:05:00 | 显示全部楼层

inters只能求两条直线交点坐标,把PL转为面域后呢?

发表于 2002-12-25 16:57:00 | 显示全部楼层

把PL转为面域后呢!!用intersect求相交部份,再填充

本帖最后由 作者 于 2002-12-25 16:57:44 编辑

(defun C:TET (/ AA)
  (setq AA (ssget '((0 . "region"))))
  (command "_.copy" AA "" "0,0" "@")
  (command "_.intersect" AA "")
  (command "_.bhatch" "s" AA "" "")
  (command "_.erase" AA "")
)
 楼主| 发表于 2002-12-25 17:42:00 | 显示全部楼层

非常感谢!

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

本版积分规则

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

GMT+8, 2025-1-16 01:07 , Processed in 0.303227 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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