aloy 发表于 2022-7-5 16:11:59

图纸限制

大家好,
 
我在下面的代码中给出的窗口中覆盖了大约1000个点,我正试图用这些点在绘图区域中绘制它们。我发现它们不会出现,除非我再次缩放范围。当它们出现时,出现的坐标超出了限制。
有人能帮我在屏幕上获得点而不需要再次缩放吗。

(defun C:drawpoints ( / list1 pt1)
(setq p1 '(3800.00 1000.0) p2 '(4400.0 1300.0))
(command "limits" p1 p2)
(command "zoom" "E")
(setq list1 pl
       pt1 (car list1))
(while (/= pt1 nil)
   (setq pt1 (car list1))
   (command "point" pt1)
   (setq list1 (cdr list1))
)

)
 
提前感谢
点列表。lsp

Roy_043 发表于 2022-7-5 16:18:05

是否要移动点,使其落在限制内?还是要更改限制以匹配点的范围?

Commandobill 发表于 2022-7-5 16:24:04

你的极限离你的分数还很远。。。

aloy 发表于 2022-7-5 16:27:51

Roy_043,
 
是的,我希望在不调用缩放范围的情况下显示点,因为我发现我的程序在此范围内无法工作。实际上我在极限上犯了一个错误。修正如下:
 

(defun C:drawpoints ( / list1 pt1)
(setq p1 '(163800.00 91000.0) p2 '(164400.0 91300.0))
(command "limits" p1 p2)
(command "zoom" "E")
(setq list1 pl
       pt1 (car list1))
(while (/= pt1 nil)
   (setq pt1 (car list1))
   (command "point" pt1)
   (setq list1 (cdr list1))
)

)

aloy 发表于 2022-7-5 16:30:57

Commandobill,
对不起,我在给出限制时犯了一个错误。已在第#4后更正。
 
谢谢
芦荟

Roy_043 发表于 2022-7-5 16:34:58

由极限定义的矩形尺寸为69400 x 300。你确定这是正确的吗?
 
为什么不简单地使用:
(foreach pt pl
(command "_.point" "_non" pt)
)
(command "_.zoom" "_extents")

aloy 发表于 2022-7-5 16:39:24

Roy_043,
对不起,我又错了。矩形是600x300,在我之前的帖子中已经纠正了。没有办法避免缩放范围吗?。我试着设定限制。但我无法正确获取griddisplay。在我看来,当缩放范围完成时,坐标系无法正常工作,我使用的某个程序会给我带来错误。
 
当做
芦荟

1958 发表于 2022-7-5 16:41:51

为什么不简单地使用:
(vl-cmdf "_.zoom"
         "_w"
         (getvar "extmax")
         (getvar "extmin")
)

aloy 发表于 2022-7-5 16:47:00

1958,
是的,它绘制点并放大到一定程度,并将我的所有点显示在屏幕上,但对我的其他程序没有帮助。我需要先设定极限,然后再画点。
 
当做
 
芦荟

BIGAL 发表于 2022-7-5 16:48:27

在这里搜索列表的最小x y,最大x y,它的lisp代码,先这样做,然后你有你的窗口值,我会再添加一点偏移量。
页: [1] 2
查看完整版本: 图纸限制