乐筑天下

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

[编程交流] 另一直线弧交点

[复制链接]

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-6 11:28:26 | 显示全部楼层 |阅读模式
我确信这是一个简单的解决方案,我不确定我做错了什么。我在这里搜索了论坛,看了很多例子,这就是为什么我看不出有什么错。
 
我有一条与弧相交的线,如果该线被延伸以满足弧,那么简单的lisp可以工作,如果该线不接触,则无法使其工作,并且不确定为什么不使用扩展实体。
 
  1. (vl-load-com)
  2. (setq obj1 (vlax-ename->vla-object (car(entsel "\nPick arc :"))))
  3. (setq obj2 (vlax-ename->vla-object (car(entsel "\nPick line :"))))
  4. (setq intpt (vlax-invoke obj1 'intersectWith obj2 1))   
  5. ; 1 is extend line acExtendthisentity
  6. ;(setq intpt (vlax-invoke obj1 'intersectWith obj2 acExtendnone))
  7. ; 0 is acExtendnone
  8. (command "point" intpt)
  9. (princ)
回复

使用道具 举报

5

主题

194

帖子

193

银币

初来乍到

Rank: 1

铜币
24
发表于 2022-7-6 11:34:48 | 显示全部楼层
你就快到了,尝试更新
 
  1. (setq intpt (vlax-invoke obj1 'intersectWith obj2 1))

 

 
  1. (setq intpt (vlax-invoke obj2 'intersectWith obj1 acExtendThisEntity))
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-6 11:38:15 | 显示全部楼层
发现它需要使用acExtendOtherEntity它总是一个简单的答案,但在帮助中有时很难找到它。
 
(setq intpt(vlax调用obj1’与obj2 acExtendotherEntity相交)
 
而且
(setq intpt(vlax调用obj1’与obj2 2相交)
; 2是acExtendotherEntity
; 3是acExtendboth
回复

使用道具 举报

5

主题

194

帖子

193

银币

初来乍到

Rank: 1

铜币
24
发表于 2022-7-6 11:45:07 | 显示全部楼层
没有想过在这种情况下使用acExtendOtherEntity
 
以后可能会发现它很有用
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-6 11:47:31 | 显示全部楼层
感谢jammie获得了扩展哪一个的顺序,这会有所不同。两种方法都有效。
 
仅仅是一个小怪癖,需要注意的是,osnaps可以超越答案。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 11:51:03 | 显示全部楼层
比加尔,
 
OSNAP不会影响VL/Ent*方法,因此我建议使用以下方法:
 
  1. (lambda (p) (entmakex (cons 0 "POINT") (cons 10 p)))

 
创建您的点。
 
另一个有用的线索:
 
http://www.cadtutor.net/forum/showthread.php?t=44768
回复

使用道具 举报

5

主题

194

帖子

193

银币

初来乍到

Rank: 1

铜币
24
发表于 2022-7-6 11:57:25 | 显示全部楼层
好奇的
 
为什么在这里使用lambda?
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 11:59:25 | 显示全部楼层
我想展示一个通用的例子(即,不要使它特定于一个变量),但不想定义一个函数来实现它-也许没有必要,但猫可以在许多方面被剥皮
回复

使用道具 举报

5

主题

194

帖子

193

银币

初来乍到

Rank: 1

铜币
24
发表于 2022-7-6 12:04:25 | 显示全部楼层
这很有道理
 
如何调用表达式来实际创建点?
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 12:08:50 | 显示全部楼层
在这个例子中可能不太实际,但是:
 
  1. (  (lambda (p) (entmakex (cons 0 "POINT") (cons 10 p)))  intpt)
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-6 02:32 , Processed in 0.383763 second(s), 72 queries .

© 2020-2025 乐筑天下

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