明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1684|回复: 17

[讨论] entmake生成的多段线,在特定情况下形成“自交”,无法生成面域

[复制链接]
发表于 2021-7-13 09:53 | 显示全部楼层 |阅读模式
10明经币
本帖最后由 yjtdkj 于 2021-7-22 15:01 编辑

如下图所示,点表生成的多段线,按照图中1、2、3点的顺序生成,这样生成的多段线无法生成面域,提示“自交”此现象就是在特定的说3点相对位置,特定点顺序时才出现。谁能给解决?

附件: 您需要 登录 才可以下载或查看,没有账号?注册
"觉得好,就打赏"
还没有人打赏,支持一下
 楼主| 发表于 2021-7-13 09:55 | 显示全部楼层
还有就是,如果手工绘出这样的三角形,又能生成面域了,真是奇怪了
回复

使用道具 举报

发表于 2021-7-13 10:31 | 显示全部楼层
请问:你是通过什么方法多段线生成面域的?
回复

使用道具 举报

 楼主| 发表于 2021-7-13 12:11 | 显示全部楼层
xvjiex 发表于 2021-7-13 10:31
请问:你是通过什么方法多段线生成面域的?

用command命令region和vla-addregion方法,都不行
回复

使用道具 举报

发表于 2021-7-13 12:56 | 显示全部楼层
经测试,如果手工绘出这样的三角形(画单线方法),如果region的顺序还是按照你的要求,任然是显示"自交"。所以要想解决,只能更改LWPOLYLINE的点的排序,不可能修改region功能的。

评分

参与人数 1明经币 +1 收起 理由
yjtdkj + 1 赞一个!

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2021-7-13 18:24 | 显示全部楼层
xvjiex 发表于 2021-7-13 12:56
经测试,如果手工绘出这样的三角形(画单线方法),如果region的顺序还是按照你的要求,任然是显示"自交"。所 ...

我居然发现了CAD的一个大bug,也是神奇
回复

使用道具 举报

发表于 2021-7-14 00:41 | 显示全部楼层
应该是CAD版本问题吧

我2004打不开你的测试图

用你的程序是能正常生成面的
回复

使用道具 举报

发表于 2021-7-14 10:41 | 显示全部楼层
多段线没闭合
回复

使用道具 举报

发表于 2021-7-14 11:32 | 显示全部楼层
  1. ;;;画PL线,bool=T闭合,bool=nil 不闭合
  2. (defun lwpolymaker (lst BOOL / COMB)
  3.   (if bool
  4.     (setq comb 1)
  5.     (setq comb 0)
  6.   )
  7.   (entmakex (append (list '(0 . "LWPOLYLINE")
  8.         '(100 . "AcDbEntity")
  9.         '(100 . "AcDbPolyline")
  10.         '(62 . 0)
  11.         (cons 90 (length lst))
  12.         (cons 70 comb)
  13.         )
  14.         (mapcar '(lambda (pt) (cons 10 pt)) lst)
  15.       )
  16.   )
  17. )

回复

使用道具 举报

发表于 2021-7-22 13:37 | 显示全部楼层
三角形怎么会自交的?
图打不开,程序看上去没问题
不如你直接把了问题的三角形那三个点贴出来,让大家画三角形来看看能不能转成面域
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-28 03:41 , Processed in 0.184369 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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