如何创建lisp程序d
大家好,我对这个“lisp”程序相当陌生。我是一名实习放样工程师,有一个问题。
如何在一条线上同时显示东距和北距坐标?
我的高级工程师在他的Auto-CAD上有它,但是从别人那里做的,他不知道怎么做。
请参见图-显示坐标X和Y
http://s10.postimage.org/eh3kimk3d/cadlisp.jpg
应该是这样的-请注意,我自己输入了坐标
http://s10.postimage.org/e5m45v3nd/cad_xy.jpg
任何帮助都将不胜感激
泰姬陵。 我认为你应该就你的问题提供更多细节。您是否希望修改现有的例程?然后,您应该至少发布一段摘录,即管理这些坐标插入的部分。
基本上,这些坐标应该是字符串,因此您要查找的函数是STRCAT。
这就是我得到坐标的方式,维度>坐标。这将显示点的东距和北距。
http://s10.postimage.org/eh3kimk3d/cadlisp.jpg
这对我来说很混乱,我想知道的是如何使它如此,而不是像上面那样显示它,这看起来很混乱,可能会让人很困惑。
http://s10.postimage.org/e5m45v3nd/cad_xy.jpg
这有意义吗?对不起,CAD不是很好 要像这样显示坐标,您最有可能使用某种Lisp,Lisp是过去某个时候有人为您创建的自定义命令。如果这里的peep没有看到命令背后的例程,那么他们帮不了你多少忙——除了编写一个全新的例程之外,这是不必要的,因为你有一个几乎可以按你想要的方式工作的例程。
我想我应该重写这个帖子,
我知道为了查看第二张图像中的坐标,我必须使用lisp程序。
问题是,我该怎么做?
不过我知道我在哪里制造了混乱。 在Lisp例程的某个地方,有一些代码决定了文本的显示方式——如果您可以发布实际的Lisp例程,那么很可能您可以在更改代码方面获得帮助。 (defun c:ne ()(setvar "osmode" 1)
(setq ne1 (getpoint"\nPick point..."))
(setvar "osmode" 0)
(if (/= ne1 nil)(go_ne)(princ"\nInvalid Location !"))
(princ)
)
(setq tx-ht 0.5)
(defun go_ne ()(setvar "luprec" 2)
(setq prmt (strcat "Enter TEXT HEIGHT<"(rtos tx-ht)">: "))
(princ prmt)
(setq x-ht (getreal))(if (= x-ht nil)(setq x-ht tx-ht))
(setq tx-ht x-ht)
(setq e-x (car ne1))(setq xx (rtos e-x))
(setq n-y (cadr ne1))(setq yy (rtos n-y))
(tx-f)
)
(defun tx-f ()
(setq vx (strcat " E " xx))
(setq vy (strcat " N " yy))
(command "text" "j" "ml" ne1 x-ht "0" vy)
(command "text" "j" "ml" ne1 x-ht "90" vx)
)
这是我被告知会奏效的。 我该如何实现这一点?让它真正起作用?我保存了这个程序,但当它打开程序时,它永远不起作用。
我输入(load“myprog”),它会显示“error load failed”。 我不能帮你重新编写程序,但我可以给你一个关于如何使用Lisp例程的方便链接。 这是因为AutoCAD无法定位该文件-您应该在选项-->文件-->支持文件搜索路径列表中添加容器文件夹,或输入加载路径(请注意双反斜杠):
(load "C:\\MyLispTool\\myprog")
页:
[1]
2