fuccaro 发表于 2022-7-6 11:33:07

拉链?!
好的,一步一步:
-选择代码并按CTRL+C
-打开记事本,按CTRL+V。代码应该在那里
-从记事本:另存为。。文件名应为DIMEXP。LSP请参阅LSP扩展!
-打开AutoCAD,打开包含尺寸的图形
-拖动DIMEXP。绘图区域中的LSP文件。AutoCAD应报告类似“dimexp已加载”的内容
-在命令行中输入(dimexp)
-最小化AutoCAD并转到图形所在的目录。你应该看到一个文件。CSV
-在Excel中打开
 
额外的右对齐输入-很可能您在复制代码时遗漏了代码的末尾。在代码窗口中,您必须向下滚动才能看到所有内容!

shamsam1 发表于 2022-7-6 11:38:43

富卡罗
谢谢你的帮助。现在我可以运行lisp程序:)。我找到了我想要的尺寸

shamsam1 发表于 2022-7-6 11:40:27

如何一次加载n个图形并导出到单个excel表。这是我今天的最后一个问题

fuccaro 发表于 2022-7-6 11:45:11

您希望所有数据都在同一个文件中吗?更简单一点:
;Save the Dimension's values to a CSV file
;mfuccaro@hotmail.com
;2008 May
;Changed: all the dimensions are exported in the same file
(defun dimexp( / s tx fn i d dl m file)
(setq s (ssget "X" (list '(0 . "DIMENSION")))
tx nil
fn "c:\\MyDims.csv")
(repeat (setq i (sslength s))
   (setq d (ssname s (setq i (1- i)))
dl (entget d)
m (cdr (assoc 42 dl)))
   (if (not (member m tx)) (setq tx (cons m tx)))
   )
(setq s nil)
(if tx (progn
   (setq file (open fn "a"))
   (princ (strcat (getvar "dwgname") ",") file)
   (foreach x tx
   (princ x file)
   (princ "," file)
   )
   (if file (close file))
   )
   )
)
(dimexp)
我现在在家,我不能测试它,但它应该可以工作。
现在关于一次处理更多文件:你读了我指的帖子了吗?没有关系;这又是一条路。
-在AutoCAD中,转至“工具”>“加载应用程序”。在打开的窗口中,导航到保存lisp的文件夹。拖动文件DIMEXP。启动文件夹中的LSP。单击“确定”关闭窗口。
-转到文件>打开。您必须看到一个窗口,从中选择要由AutoCAD打开的文件。选择要处理的所有文件。怎样按住CTRL+A组合键将选择所有选项,或者按住CTRL键和/或按住SHIFT键并单击它们。
-单击打开(或确定?)按钮
-在Windows资源管理器中找到文件C:\MyDims。csv并打开它。
-如果再次运行lisp,它会将新结果放在该文件的末尾。因此,如果希望在单独的文件中显示新尺寸,请移动或重命名它
-重要事项:拆下DIMEXP。启动文件夹中的LSP。

shamsam1 发表于 2022-7-6 11:45:47

谢谢fuccaro很快会做测试的。

shamsam1 发表于 2022-7-6 11:50:07

你好
 
它正在工作。但在excel中,所有图纸细节都在一行中。
在新绘图的excel中,它应该采用新行。。。
 
谢谢你的帮助。。你已经解决了我的问题。。

fuccaro 发表于 2022-7-6 11:54:10

;Save the Dimension's values to a CSV file
;mfuccaro@hotmail.com
;2008 May
;Changed: all the dimensions are exported in the same file
;on a new line
(defun dimexp( / s tx fn i d dl m file)
(setq s (ssget "X" (list '(0 . "DIMENSION")))
tx nil
fn "c:\\MyDims.csv")
(repeat (setq i (sslength s))
   (setq d (ssname s (setq i (1- i)))
dl (entget d)
m (cdr (assoc 42 dl)))
   (if (not (member m tx)) (setq tx (cons m tx)))
   )
(setq s nil)
(if tx (progn
   (setq file (open fn "a"))
(write-line "" file)
   (princ (strcat (getvar "dwgname") ",") file)
   (foreach x tx
   (princ x file)
   (princ "," file)
   )
   (if file (close file))
   )
   )
)

shamsam1 发表于 2022-7-6 11:56:53

你让我的项目成功了。。。。
全部归功于u

fuccaro 发表于 2022-7-6 11:59:33

就这样吧,沙姆!
我们一起组成了一个伟大的团队!
 
最后一个问题:您的AutoCAD LT是否运行我为您编写的lisp扭曲的:
好的,不要花时间回答我;最好利用这段时间更新你的个人资料-只是一个建议。。。

shamsam1 发表于 2022-7-6 12:02:22

我是网络和vb程序员。。。不是lisp程序员
对于lisp程序,我使用的是autocad 2000。
 
regads公司
山姆
页: 1 [2]
查看完整版本: 将尺寸从dwg提取到