stevo99 发表于 2022-7-5 19:46:34

简单lisp例程

大家好,
 
我正在尝试编写我的第一个lisp来绘制一个基本的门户框架。
我已经使用excel计算出坐标并构造了一个命令,一旦绘图命令工作,我就会用lisp做背景数学。
 
但现在,我有以下命令似乎不起作用,我不明白为什么。
 
(命令“pline”(getpoint“\n点击基点:”@07630”“@14143.51237.4”“@14143.5,-1237.4”“@0,-7630”“@530,0”“@08208.4”“@-14673.51769.4”“@-14673.5,-1769.4”)
 
它根据需要绘制一条线,但由于某种原因,“@530,0”点位于前一个点之上,并且线自身绘制。有什么想法吗?
 
此外,当我从excel粘贴命令时,它会立即执行,并给出错误消息:
 
命令:(命令“pline”(获取点“\n点击基点:”@07630”“@14143.51237.4”“@14143.5,-1237.4”“@0,-7630”“@530,0”“@08208.4”“@-14673.51769.4”“@-14673.5,-1769.4”)
选择基点:
未知命令“@07630”。按F1键获取帮助。
未知命令“51237.4”。按F1键获取帮助。
未知命令“5,-1237.4”。按F1键获取帮助。
未知命令“@0,-7630”。按F1键获取帮助。
未知命令“@530,0”。按F1键获取帮助。
未知命令“4”。按F1键获取帮助。
未知命令“51769.4”。按F1键获取帮助。
未知命令“5,-1769.4”。按F1键获取帮助。

 
非常感谢您的帮助

BlackBox 发表于 2022-7-5 20:03:19

 
除非我忽略了什么,否则请尝试一下:
 

(defun c:FOO (/ pt)
(if (setq pt (getpoint "\nPick Base Point: "))
   (command "pline" pt "@0,7630" "@14143.5,1237.4" "@14143.5,-1237.4"
            "@0,-7630" "@530,0" "@0,8208.4" "@-14673.5,1769.4"
            "@-14673.5,-1769.4" "@0,-8208.4" "@530,0" "_c"
         )
)
(princ)
)

 
 
 
干杯

stevo99 发表于 2022-7-5 20:15:49

谢谢BlackBox,也谢谢你指出我的数学错误
 
但这仍然不起作用,这是第一个“@530,0”坐标,似乎绘制不正确。请参见下面的屏幕截图。
 

 
从本质上讲,我得到的内部形状很好,但在我圈出的地方,它似乎是反过来的。
 
如果我手动输入pline命令并键入坐标,它工作得很好,只是不在这个lisp中。。。。

stevo99 发表于 2022-7-5 20:23:08

啊,搞定了。
 
这是我的“动态输入”把它搞砸了。如果我把它关掉,它工作得很好。
我还填充了顶部顶点高度。。。。
 
你知道为什么我在问题的第二部分中从excel粘贴时命令不起作用吗??
 
 
谢谢你的帮助。

BIGAL 发表于 2022-7-5 20:28:51

我会采取一种不同的方法,使用极性函数来计算点,从长度、高度、音高开始,这样就不用担心pt-co-ords。
 
还有一点需要注意的是,有很多东西可以用来绘制结构细节,比如一个包含完整连接细节的门户,等等,就像谷歌一样。

stevo99 发表于 2022-7-5 20:43:47

 
事实上,现在你提到它,polar会容易得多。
我在这里的目标不是绘制一个门户框架,而是尝试用lisp在脚本中绘制一些需要一些数学知识的东西。我以前从未写过lisp,所以我想我会用它来画一些我一直在画的东西。
我一直克制着四处寻找现成脚本的冲动,因为那时我不会学习lisp。
 
干杯

BIGAL 发表于 2022-7-5 20:47:09

看看Strucplus的澳大利亚产品,几秒钟内就会做你想做的事情。另一个是钢铁形状。
页: [1]
查看完整版本: 简单lisp例程