乐筑天下

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

[编程交流] 如何区分Ell

[复制链接]

91

主题

428

帖子

326

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
474
发表于 2022-7-6 08:54:04 | 显示全部楼层 |阅读模式
嗨,球童们,
 
如何识别椭圆对象是闭合的(即全椭圆)还是开放的(即椭圆弧)?
 
感谢您的回复。
回复

使用道具 举报

pBe

32

主题

2722

帖子

2666

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
211
发表于 2022-7-6 09:02:29 | 显示全部楼层
  1. (if
  2. (= StartAngle 0)
  3. (Closed/FullEllipse)
  4. (Open/EllipseArc)
  5. )

 
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
358
发表于 2022-7-6 09:08:04 | 显示全部楼层
我的方法。。。
 
  1. (vlax-curve-IsClosed (car (entsel "\n Select Ellipse :")))

 
如果是T。否则为零
回复

使用道具 举报

pBe

32

主题

2722

帖子

2666

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
211
发表于 2022-7-6 09:15:03 | 显示全部楼层
很好tharwat
我不知道那个
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
358
发表于 2022-7-6 09:20:19 | 显示全部楼层
 
谢谢pBe,
 
我知道这些函数是从vlax曲线开始的-***,当时我正在与多段线斗争,想知道如何处理它们。
 
所以再也没有机会忘记他们了。
 
干杯
回复

使用道具 举报

91

主题

428

帖子

326

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
474
发表于 2022-7-6 09:21:26 | 显示全部楼层
pBe和Tharwat,
非常感谢你的帮助。
同时,我研究了内部椭圆和椭圆弧列表。我在里面发现了一个dxf代码,它显示椭圆是否闭合。
 
以下代码的优点是自动或动态(在选择对象时)过滤它们。
 
  1. (setq ellipses
  2. (ssget "X"
  3.    (list
  4.      (cons -4 "<AND")
  5.        (cons 0 "ELLIPSE")
  6.        (cons 41 0)
  7.      (cons -4 "AND>")
  8.    )
  9.   )
  10. )
  11. (setq ellipsearcs
  12. (ssget "X"
  13.    (list
  14.      (cons -4 "<AND")
  15.        (cons 0 "ELLIPSE")
  16.        (cons -4 "<NOT")
  17.          (cons 41 0)
  18.        (cons -4 "NOT>")
  19.      (cons -4 "AND>")
  20.    )
  21. )
  22. )
回复

使用道具 举报

pBe

32

主题

2722

帖子

2666

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
211
发表于 2022-7-6 09:29:51 | 显示全部楼层
但这是正确的
 
  1. (ssget "X" '((0 . "ELLIPSE") (41 . 0)))
对于过滤器列表就足够了
 
我太专注于vlaobjects了,以至于想不出vanilla的简单语法
 
好东西啊哈哈
回复

使用道具 举报

91

主题

428

帖子

326

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
474
发表于 2022-7-6 09:37:39 | 显示全部楼层
pBe,
谢谢。
你解释的一切都很清楚,除非你说出pBe的名字
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 09:37:44 | 显示全部楼层
 
不完全是这样。
 
考虑:
 
  1. (entmakex
  2.    (list
  3.        (cons 0 "ELLIPSE")
  4.        (cons 100 "AcDbEntity")
  5.        (cons 100 "AcDbEllipse")
  6.        (list 10 0.0 0.0 0.0)
  7.        (list 11 1.0 0.0 0.0)
  8.        (cons 40 0.5)
  9.        (cons 41 0.0)
  10.        (cons 42 pi)
  11.    )
  12. )

 
 
这不适用于上述反例,请考虑以下内容:
 
  1. (defun c:ellipses nil
  2.    (sssetfirst nil
  3.        (ssget "_X"
  4.            (list
  5.                (cons 0 "ELLIPSE")
  6.                (cons 41 0.0)
  7.                (cons 42 (* 2 pi))
  8.            )
  9.        )
  10.    )
  11. )
  12. (defun c:ellipsearcs nil
  13.    (sssetfirst nil
  14.        (ssget "_X"
  15.            (list
  16.                (cons 0 "ELLIPSE")
  17.                (cons -4 "<OR")
  18.                    (cons -4 "<>")
  19.                    (cons 41 0.0)
  20.                    (cons -4 "<>")
  21.                    (cons 42 (* 2 pi))
  22.                (cons -4 "OR>")
  23.            )
  24.        )
  25.    )
  26. )
回复

使用道具 举报

pBe

32

主题

2722

帖子

2666

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
211
发表于 2022-7-6 09:44:21 | 显示全部楼层
 
我一发布就意识到了这一点。
 
 
真正地我想我没有做一个彻底的测试
 
谢谢你提供的信息。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-7 06:31 , Processed in 0.436516 second(s), 72 queries .

© 2020-2025 乐筑天下

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