Guest Gors100 发表于 2022-7-7 15:04:09

电子表格

有没有人能提供一些信息,是否可以从一个简单的工程图纸中提取尺寸,并将其放在目前运行CAD2000的Excell工作簿中
Thanx公司

fuccaro 发表于 2022-7-7 15:24:27

你好,戈登!
是的,我认为可以以Excel兼容的格式导出尺寸。我在想一个lisp例程来帮助你。
但如何出口呢?
你只需要一些维度,还是全部维度?还是将所有尺寸放置在一个图层上?
按什么顺序:创建它们时?按值排序?当你选择它们时?
如果它们是替代尺寸,您需要实际尺寸还是替代文字?
那么公差呢?你也需要吗?
有很多问题,但编写程序是必要的。也许还有别的办法?

Guest Gors100 发表于 2022-7-7 15:28:50

Thanx Fuccaro for viewn and posting reply我可以看到如何按顺序获得正确信息的问题。尺寸是真实的,公差不是问题。我完成这项任务的唯一想法是,是否可以利用物体的特性。确实在CAD2002中遇到了一个属性管理器,它看起来似乎可以执行此功能。您知道这是否正确吗。
又是Thanx

fuccaro 发表于 2022-7-7 15:47:05

我不知道如何选择要导出的尺寸(对不起,我的英语不好),所以我写了一个lisp来导出图形中的所有尺寸。如果这不是你需要的,只需返回其他消息,我会尽力帮助你。
运行例程后,找到一个文件“C:\drawingname.CSV”。Auf课程“drawingname”在每种情况下都将替换为图纸的真实名称。在Excel中打开此文件并以Excel格式保存。
干杯

;|Export all dimension from a drawing
    in a CSV file (Excel compatible)
mfuccaro@hotmail.com      October 2003|;

(defun c:dex      ; Dimension EXport
      ( / name file ent)

(setq
   name (strcat "C:/"    ; place here the desired path for the new file
          (if (= (strcase
         (substr (getvar "dwgname")
               (- (strlen (getvar "dwgname")) 3))) ".DWG")
      (substr (getvar "dwgname") 1
            (- (strlen (getvar "dwgname")) 4))
      (getvar "dwgname"))
          ".CSV")
   file (open name "w")
   ent (entnext))
(while ent
   (if (= (cdr (assoc 0 (entget ent))) "DIMENSION")
   (write-line (rtos (cdr (assoc 42 (entget ent))) 2 4) file))
   (setq ent (entnext ent)))
(close file)
(princ)
)
(princ "\nLoaded. Type DEX at the command prompt")
(princ)

fuccaro 发表于 2022-7-7 16:03:08

上述代码已修复:
;|Export all dimension from a drawing
    in a CSV file (Excel compatible)
mfuccaro@hotmail.com      October 2003|;

(defun c:dex      ; Dimension EXport
      ( / name file ent)

(setq
   name (strcat "C:/"    ; place here the desired path for the new file
          (if (= (strcase
         (substr (getvar "dwgname")
               (- (strlen (getvar "dwgname")) 3))) ".DWG")
      (substr (getvar "dwgname") 1
            (- (strlen (getvar "dwgname")) 4))
      (getvar "dwgname"))
          ".CSV")
   file (open name "w")
   ent (entnext))
(while ent
   (if (= (cdr (assoc 0 (entget ent))) "DIMENSION")
   (write-line (rtos (cdr (assoc 42 (entget ent))) 2 4) file))
   (setq ent (entnext ent)))
(close file)
(princ)
)
(princ "\nLoaded. Type DEX at the command prompt")
(princ)

minhphuong_humg 发表于 2022-7-7 16:10:55

 
主任,fuccaro!
我在用你的lisp作画。但不要跑。请复习你的口齿不清帮助我。
我想在我的图形中输出所有值维度(可以选择每个维度或选择所有维度)。
请帮帮我。
非常感谢你。
文件附加:
帮助图纸
页: [1]
查看完整版本: 电子表格