a117034423 发表于 2020-12-2 09:30:41

关于XD::PNT:ISOUT函数问题牌【已解决】

本帖最后由 a117034423 于 2020-12-5 14:17 编辑

2020-09-25 XDRX-API 经反复测试 无法正常使用 请各位看看
代码如下
(cond
    ((XD::Pnt:IsOut (list minx1 miny1 0.0) mod1) (setq dk1 "左下"))
    ((XD::Pnt:IsOut (list maxx1 miny1 0.0) mod1) (setq dk1 "右下"))
    ((XD::Pnt:IsOut (list maxx1 maxy1 0.0) mod1) (setq dk1 "右上"))
   ((XD::Pnt:IsOut (list minx1 maxy1 0.0) mod1) (setq dk1 "左上"))
    )   
经反复测试 在命令窗口可以调用此函数 在LISP编辑器里运行就有问题在lisp内运行 cond返回值一直是nil
请管理大大看看
可能是我的函数有问题
现在一直就找不到问题所在,测试有时候可以,有时候就不行
返回结果不是 左下 就是nil 编辑器检查有时会出现 no function definition

Lisphk 发表于 2020-12-2 17:04:48

你这个上下左右,用下面函数,你参考下,看下面函数怎么判断的上下左右
(XD::Pnt:Quadrant)测试点在笛卡尔坐标系的位置8 个回复 - 2251 次查看
2013-11-4 13:41 - newer - 开源函数库

a117034423 发表于 2020-12-2 18:21:11

Lisphk 发表于 2020-12-2 17:04
你这个上下左右,用下面函数,你参考下,看下面函数怎么判断的上下左右
(XD::Pnt:Quadrant)测试点在笛卡尔 ...

好的,xd::pnt:isout 的确是不好使,我明天测试一下您给的函数

Lisphk 发表于 2020-12-2 18:23:40

本帖最后由 Lisphk 于 2020-12-2 18:25 编辑

a117034423 发表于 2020-12-2 18:21
好的,xd::pnt:isout 的确是不好使,我明天测试一下您给的函数
别那么着急下结论
可能自己代码组织的问题,参数是否都有正确的值
你要能确保前三个都对,改写

(cond
    ((XD::Pnt:IsOut (list minx1 miny1 0.0) mod1) (setq dk1 "左下"))
    ((XD::Pnt:IsOut (list maxx1 miny1 0.0) mod1) (setq dk1 "右下"))
    ((XD::Pnt:IsOut (list maxx1 maxy1 0.0) mod1) (setq dk1 "右上"))
    (t
       (setq dk1 "左上")
    )
)

a117034423 发表于 2020-12-2 18:26:06

Lisphk 发表于 2020-12-2 18:23
别那么着急下结论
可能自己代码组织的问题,参数是否都有正确的值

我在帮助手册看源码,至少手册有点小问题,代码和调用方式写错了,我也测试了好几次啦
页: [1]
查看完整版本: 关于XD::PNT:ISOUT函数问题牌【已解决】