乐筑天下

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

[编程交流] 使用xline切片

[复制链接]

37

主题

264

帖子

236

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
185
发表于 2022-7-5 16:31:08 | 显示全部楼层 |阅读模式
这个漂亮的xline怎么能用来切片对象(定义了3个点:int pt1 pt2)并将ucs设置到这个平面上呢?这些添加的线把我带到了那里,只是p1和pt2的格式似乎不正确(?)
 
 
http://www.cadtutor.net/forum/showthread.php?100283-创建-construcion-line-between-2-construction-line-or-line-or-polylines-HELP&p=682015&viewfull=1#后682015
 
**编辑**
  1. (defun c:test2 ( / Ent1 Ent2 EntDxf1 EntDxf2 Pkt1 Pkt2 Pkt3 Pkt4 Xpoint )
  2. (setq Ent1 (entsel "Xline1" ) )
  3. (setq Ent2 (entsel "Xline2" ) )
  4. ;(setq Pkt1 (assoc 10 Ent1))  ; somethings wrong here..
  5. ;(setq Pkt3 (assoc 10 Ent2))    ; somethings wrong here too
  6. (setq EntDxf1 (entget (car Ent1 )) )
  7. (setq EntDxf2 (entget (car Ent2 )) )
  8. (setq Pkt2 (polar (cdr (assoc 10 EntDxf1 )) (angle (list 0 0 0 ) (cdr (assoc 11 EntDxf1 )) ) 1 ) )
  9. (setq Pkt4 (polar (cdr (assoc 10 EntDxf2 )) (angle (list 0 0 0 ) (cdr (assoc 11 EntDxf2 )) ) 1 ) )
  10. (setq Xpoint (inters (cdr (assoc 10 EntDxf1 )) Pkt2 (cdr (assoc 10 EntDxf2 )) Pkt4 nil ) )
  11. ; (command "ucs" ..  )) ; do 3D stuff with Xpoint Pkt1 Pkt3 as three defined points on a plane ..)
回复

使用道具 举报

37

主题

264

帖子

236

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
185
发表于 2022-7-5 16:40:01 | 显示全部楼层
你好
我可能找到了一段更好、更简单的代码(见上文)。
我的问题是:我怎样才能在一个像样的情况下得到xline(assoc 10)的xyz,或者我可以使用它?
 
 
不良关联列表:(-98.4044 132.005 0.0))
回复

举报

4

主题

2143

帖子

2197

银币

限制会员

铜币
-24
发表于 2022-7-5 16:51:33 | 显示全部楼层
您的线程似乎更适合AutoLISP、Visual LISP和DCL论坛。
回复

举报

0

主题

172

帖子

173

银币

限制会员

铜币
-1
发表于 2022-7-5 16:55:41 | 显示全部楼层
这里的问题是xline没有起点或终点吗?它们的长度是无限的。
 
您可能需要更多的处理来确定XLine的方向。
(可能在xline上选择2个点?)。
回复

举报

37

主题

264

帖子

236

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
185
发表于 2022-7-5 17:02:21 | 显示全部楼层
对于切片,我需要三个点中的两个
 
xline的两个“inspoints”(如果平行,则结束并继续切片…)
第三个可能是这些xline的交叉点(我已经准备好了代码)
 
 
我现在的问题是,我需要一个带有entget或其他东西的xline对象的插入点
希望你理解我想要实现的目标。
回复

举报

66

主题

1552

帖子

1514

银币

后起之秀

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

铜币
325
发表于 2022-7-5 17:13:19 | 显示全部楼层
 
  1. (cdr (assoc 10 (entget (car (entsel)))))
回复

举报

37

主题

264

帖子

236

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
185
发表于 2022-7-5 17:20:49 | 显示全部楼层
我在想这个主意毕竟不太好
因为很多时候xline是非共面的。
但是,我想学习如何检索给定xline上的一些xyz点
你能指出为什么这失败了,因为我不知道。
 
 
命令:测试
选择第一条xline:
选择2st xline:;错误:错误的参数类型:listp
 
 
  1. <p> </p><p> </p><p>The idea ..</p><p>in  this gif.. </p><p> </p><p> </p><p> </p><p>https://drive.google.com/file/d/0B6-6JB1a0xTcTVg1aVdtRk52QzA/view?usp=sharing</p><p> </p><p>(defun c:test ( / Ent1 Ent2 Pkt1 Pkt2 )</p><p>(setq Ent1 (entsel "\nSelect 1st xline: "))</p><p>(setq Ent2 (entsel "\nSelect 2st xline: "))</p><p>(setq Pkt1 (cdr (assoc 10 (car Ent1))))</p><p>(setq Pkt2 (cdr (assoc 10 (car Ent2))))</p><p>...</p><p>[\code]</p><p><img src="https://www.cadtutor.net/forum/uploads/monthly_2017_04/2017-04-03_22-54-26.jpg.044ac96d56ca91173e2902d5afd9814e.jpg"   ></p>
173114z5rbd00kp40r8p7r.jpg
回复

举报

66

主题

1552

帖子

1514

银币

后起之秀

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

铜币
325
发表于 2022-7-5 17:24:30 | 显示全部楼层
你忘了获取实体,汉斯。
回复

举报

37

主题

264

帖子

236

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
185
发表于 2022-7-5 17:32:18 | 显示全部楼层
我知道(entsel)和(entget)不一样。。mcgyver在这里仍然迷路。。
 
 
; 错误:错误的参数类型:lentyp“\n选择第一个xline:”
回复

举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-13 18:35 , Processed in 1.043643 second(s), 72 queries .

© 2020-2025 乐筑天下

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