皇上快溜 发表于 2023-6-21 02:40:53

求交点

本帖最后由 皇上快溜 于 2023-6-21 03:51 编辑

求矩形与圆的交点。
请大家帮看看dwg中左右两个图形有什幺区别?左边求不出来,右边可以。
我当前己知,左边是用代码画的,右边人工命令行用命令画的。
此外我再也看不出来二者的区别,关于求交点求不出来。


求交点用的代码
(int(car (entsel))(car (entsel)))

(defun int (e1 e2 / pp lt)
(setq      pp (vlax-invoke
                (vlax-ename->vla-object e1)
                'intersectwith
                (vlax-ename->vla-object e2)
                3
            )
)
(while pp
    (setq lt (append lt (list (list (car pp) (cadr pp) (caddr pp))))
          pp(cdr (cdr (cdr pp)))
    )
)
lt
)





vormittag 发表于 2023-6-21 12:34:52

皇上快溜 发表于 2023-6-21 11:51
一句摇醒啊,原来如此,我搞到半夜没搞清楚。
你好,请问画矩形时为什幺Z轴会不在0上?我是用包围框求的 ...

最简单的归零就是:

(command "move" "all" (list 0.0 0.0 0.0) (list 0.0 0.0 1e99))
(command "move" "all" (list 0.0 0.0 1e99) (list 0.0 0.0 0.0))

皇上快溜 发表于 2023-6-22 05:00:19

liuhe 发表于 2023-6-21 09:07
实际上没有交点,因为不在一个平面上。我分解了矩形,矩形Z轴是1e-8,你需要Z轴归零

你好,我重新查了图,似乎没发現Z轴不在0的迹像,用DI查距离,图元间Z值都是0.000,再用3D观察器,也没发现肉眼可见Z轴间距。请问,你是怎幺证实Z轴不在一起的?把矩形炸开也还是一样

皇上快溜 发表于 2023-6-21 11:51:27

liuhe 发表于 2023-6-21 09:07
实际上没有交点,因为不在一个平面上。我分解了矩形,矩形Z轴是1e-8,你需要Z轴归零

一句摇醒啊,原来如此,我搞到半夜没搞清楚。
你好,请问画矩形时为什幺Z轴会不在0上?我是用包围框求的两点画的矩形。另外请教Z轴归0该怎幺弄?

皇上快溜 发表于 2023-6-21 02:43:42

一楼忘了传文件,现补上

liuhe 发表于 2023-6-21 09:07:25

本帖最后由 liuhe 于 2023-6-21 09:23 编辑

实际上没有交点,因为不在一个平面上。我分解了矩形,矩形Z轴是1e-8,你需要Z轴归零

皇上快溜 发表于 2023-6-21 14:07:06

这是选物归零,如果可以成图前系统变量那样归零,就更理想了

vormittag 发表于 2023-6-21 15:53:42

皇上快溜 发表于 2023-6-21 14:07
这是选物归零,如果可以成图前系统变量那样归零,就更理想了

这里不需要你去做框选选择啊,选择集是 all

皇上快溜 发表于 2023-6-21 21:25:51

vormittag 发表于 2023-6-21 15:53
这里不需要你去做框选选择啊,选择集是 all

你好,请问为什幺会画图画到Z轴不是0的位置上去了,受哪些原因影响?

guosheyang 发表于 2023-6-22 07:51:09

直接用直线两点坐标 与圆心 半径求交点就可以了高飞鸟的帖子中有此代码
页: [1] 2
查看完整版本: 求交点