Tomislav 发表于 2022-7-5 23:35:48

获取指向ss的点

你好
有没有办法从选择集中的getpoint函数中获取点?
我试着这样做:
(setq pnt(ssadd))
(while(setq pntx(getpoint“\n从左到右选择点:”))
;(setq pntx(entget(entlast)));第一条路
(ssadd pntx pnt);第二种方式
)
 
thanx公司

GP_ 发表于 2022-7-5 23:41:27

(setq pnt nil)
(while (setq pntx (getpoint"\nSelect points from the LEFT to RIGHT : "))
   (setq pnt (cons pntx pnt))
)

Tharwat 发表于 2022-7-5 23:49:21

你好
 
ssadd函数是将实体添加到选择集,但在您的情况下,您需要有一个坐标点列表,所以这里是这样的。
 

(while (setq pntx (getpoint "\n Select points from the LEFT to RIGHT : "))
(setq lst (cons pntx lst))
)

 
因此,变量lst具有从用户处拾取的所有点。

Tomislav 发表于 2022-7-5 23:56:22

行得通,塔克斯。。。唯一的问题是,我需要将其余代码转换为处理list而不是ss,这就是为什么我尝试在ss中使用它们

Tharwat 发表于 2022-7-5 23:59:50

汤姆,你在用密码干什么?

Tomislav 发表于 2022-7-6 00:07:33

我正在写一种横截面图lisp,我完全是在ss的基础上写的,就在调试的时候,我发现这种方式不能通过getpoint。。。
我可以用这个:
 
(princ“\n从左到右选择点:”)
(setq pnt(ssget“:E”((0.“点”)))
 
但是,我需要缩放到每个点(因为picbox)来选择它,而使用getpoint时,我只需将osnap设置为point并“点击离开”

Tharwat 发表于 2022-7-6 00:13:26

是否从图形中已存在的点绘制横截面?
 
你能在之前和之后上传一个画展样本吗?

Tomislav 发表于 2022-7-6 00:17:57

这是示例。。。我已经在你在中看到的车站上勘测了道路。dwg,通过这个lisp,我想创建道路的横截面或纵断面,选择所需的点(在dwg中的左侧),并将其放置在所需的横截面上,并在表格中填充数据(在dwg中的右侧)。。。
现在我正在用CadTools做这件事,虽然它有更多的选项,但我不能选择一个配置文件和表格直接将数据放在上面,它不会填充表格,而是我必须复制/粘贴CadTools创建的数据,这需要一些额外的时间。。。
样本:样本。图纸

Tharwat 发表于 2022-7-6 00:20:09

我对所有这些部分都感到迷茫,所以只要把你想得到它们坐标的点以及添加到哪里,正如我从你之前的回复中所理解的那样。

Tomislav 发表于 2022-7-6 00:27:35

以路上的任何一个车站为例,你会看到三个黄点。。。它们都有海拔,道路中间有主要的要素线或轴线。。。目标是在一个桩号上选择点(在本例中为3个点,但有时可能更多或更少),然后将其添加到右侧任何所需截面上的多段线轮廓,并在表中所需行中输入高度。。。在该段中,它们必须相对于道路要素线或轴输入。。。。我几乎完成了,现在只需要将lisp转换为使用列表而不是ss,我不知道如何从点列表中创建多段线,除了在命令栏中?
页: [1] 2
查看完整版本: 获取指向ss的点