docvern 发表于 2022-7-6 14:18:39

用于提取订单的Lisp例程

你好。我是这个论坛的新手,虽然我已经多次使用它来帮助我工作。
 
我只是想知道是否有人知道下面的lisp例程。我从来没有处理过lisp例程,也不知道写一个例程的第一件事,这是我需要很快改变的!!!
 
无论如何,我做了很多土地测量,当我把这些点放入cad时,我需要在我的点旁边显示高程。此时,我手动单击该点,查看Z值,然后将其键入。我知道一定有很多更快的方法可以做到这一点,但我还没有找到一个。我跑了2009年,也有civil 3d,但在那里也找不到方法。
 
任何帮助都将不胜感激。
 
干杯

eldon 发表于 2022-7-6 14:23:59

我很惊讶你还没有把所有的标高都写进测量图中。但是我以前遇到过这样的情况,写了一个小的lisp来注释一个3D点的级别。文本被写入到小数点后两位,并且在z=零高程处写入。没有错误处理,因为我不够聪明,但这应该让你开始。
 
;3DL is a programme to annotate levels of 3D lines drawn in a ground model; eldon 2009
(defun C:3DL (/ pt0 pt1 pt2 pt3 pt4 pt5 lev x y z)
          (setq pt0 (getpoint "\nPick level point. . . . . ")
                x (car pt0)
                y (cadr pt0)
                z (caddr pt0)
                lev (rtos z 2 2)
                pt1 (list (- x 0.18) y 0)
                pt2 (list (+ x 0.18) y 0)
                pt3 (list x (- y 0.18) 0)
                pt4 (list x (+ y 0.18) 0)
                pt5 (list (+ x 0.21) (+ y 0.09) 0)
         )
          ;(command "LINE" pt1 pt2 ""); draws a cross
          ;(command "LINE" pt3 pt4 ""); draws a cross
         (command "TEXT" "s" "LEVELS" pt5 "" "0" lev); writes a level
)
                  

docvern 发表于 2022-7-6 14:30:00

谢谢你。我不确定你的确切意思,但我假设你认为我在civil 3d中使用了测量功能。我们只是刚刚得到它,所以我正试图找出如何使用它。在此之前,我一直在做的是打开我的调查作为dxf,然后写出来的数据在cad。

lpseifert 发表于 2022-7-6 14:34:47

如果使用Civil 3D,则需要设置点标签样式。请尝试“帮助”>“教程”>“AutoCAD Civil 3D教程”>“点教程”

docvern 发表于 2022-7-6 14:42:56

这听起来可能很愚蠢,但一旦我加载了它,让它工作的命令是什么?

docvern 发表于 2022-7-6 14:47:18

好的,我想是3dl。我试过了,但没有最终产品。我会试着通过民事诉讼,看看会发生什么。对不起,我对Lisp程序之类的东西有点陌生

docvern 发表于 2022-7-6 14:48:44

对不起,伙计们,我在这里真的很挣扎。有人有Cad测量数据的经验吗。我将Topcon导出为dxf,这样我的数据就不会来自电子表格或文本文件。我的点作为带十字和点编号的块参考进入cad。我想要的是它来与这个信息加上水平信息。

eldon 发表于 2022-7-6 14:56:59

 
您需要设置ObjectSnap来拾取实体。如果对象是点,则需要设置节点捕捉。
 
当我开始绘制测量图时,最终用户(大部分是建筑师)无法理解块和属性,因此为了保持简单,我只使用实体,并且最怀疑带有属性的块,这些块过去非常不灵活。
 
因此,在开始绘制每幅图时,我用一个点绘制点编号,在点上画一个十字,并根据图片绘制旁边的高程。然后使用场草图连接点。制作一个只有实体的漂亮图形,所有人都可以使用。
 
使用Topcon,您可以下载坐标的文本文件,除非您想在3D中输入字符串,这是DXF下载非常有用的地方。

docvern 发表于 2022-7-6 15:00:24

好吧,这就是我想要的样子,但是当我打开dxf时,我没有得到点的高程。我确实有snap-on,但它所做的一切都是指向文本方向,然后允许我键入一些文本,我键入的任何内容都会显示在屏幕上。我只是复制了你的整个列表并粘贴了它。是这样吗?

eldon 发表于 2022-7-6 15:07:55

如果数据以块的形式输入,则捕捉应设置为插入。
 
要运行此Lisp,需要将文本复制到记事本/写字板中,然后将其保存为名为3DL的文本文件。LSP,并将该文件放在可以通过AutoCAD的搜索路径找到的位置(必须确保文件扩展名为LSP,或在以后更改)。然后在命令行中键入(load“3dl”),或者通过“工具”菜单-Autolisp-load进行浏览,直到找到它。成功加载后,命令行将显示C:3DL。然后可以设置捕捉,然后单击“离开”。该例程是一次点击,但如果您的右键单击设置为重复命令,则可以继续单击(左键和右键)。
 
如果您能找到如何在文本文件中下载坐标,那么在时间允许的情况下,您将能够使用自己的Lisps。我提供这张图片是为了看看你想要达到什么目的,其余的都是一些嫁接!如果我想开始挣钱的话,自营职业给了我写东西的额外动力。
页: [1] 2
查看完整版本: 用于提取订单的Lisp例程