明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: xiaodao520

悬赏高手写个统计周长面积输出excel。

  [复制链接]
发表于 2023-7-21 19:19 | 显示全部楼层
厉害哦
回复

使用道具 举报

发表于 2023-8-7 18:34 | 显示全部楼层
大佬厉害了,虽然看不懂.
回复

使用道具 举报

发表于 2023-8-8 14:58 | 显示全部楼层
(defun c:batchMeasure ()
  (setq file (getfiled "选择保存Excel文件的路径:" ""))
  (setq cnt 1)
  (setq entlist (entsel "\n选择要测量的图形(多选):"))
  
  (vl-load-com)
  (foreach ent entlist
    (setq obj (vlax-ename->vla-object (car ent)))
   
    ; 检查是否为封闭图形
    (if (and (= (vla-get-objectname obj) "AcDbCurve") (not (vla-getisclosed obj)))
      (progn
        (alert (strcat "\n图形 " (itoa cnt) " 不是封闭图形,已跳过测量。"))
        (setq cnt (1+ cnt))
      )
      ; 计算周长
      (progn
        (setq perimeter (vla-get-Perimeter obj))
        
        ;绘制文本标记
        (vla-addtext obj (strcat "P:" (rtos perimeter 2 2)) (vla-get-startpoint obj))
        
        ; 计算面积
        (setq area (vla-get-Area obj))
        
        ;绘制文本标记
        (vla-addtext obj (strcat "A:" (rtos area 2 2)) (vla-get-endpoint obj))
        
        ; 将周长面积输出到Excel
        (vlax-invoke
          (vlax-get-property (vlax-create-object "Excel.Application")
          "Workbooks")
          "Open" file
        )
        (vlax-invoke
          (vlax-get-property
            (vlax-get-property
              (vlax-get-property (vlax-get-property
                (vlax-get-property (vlax-get-property (vlax-get-object excel "Workbooks") "Item" 1) "Worksheets") "Item" 1) "Range" "A1")
              "Offset" (+ (1- cnt) 1) 0)
            "Value")
          "Set" (vlax-invoke (vlax-create-object "VARIANT") "Array" (list cnt perimeter area))
        )
        (vlax-invoke (vlax-get-property (vlax-get-object excel "ActiveWorkbook") "Save"))
        (vlax-invoke (vlax-get-property (vlax-get-object excel "ActiveWorkbook") "Close"))
        (setq cnt (1+ cnt))
      )
    )
  )
  (vlax-release-object excel)
  (princ)
)
回复

使用道具 举报

发表于 2023-8-10 10:03 | 显示全部楼层
langjs 发表于 2012-7-3 09:49
既然发消息给我那就编一个。使用时不保证100%正确。
;;; 框选封闭区域面积到excel    by:langjs
;;; = ...

能改成输出外形长宽尺寸到EXCEL
回复

使用道具 举报

发表于 2024-3-29 14:35 | 显示全部楼层
hao3ren 发表于 2012-7-4 00:01
;;; 框选封闭区域面积到excel    by:langjs
;;; ==================
(defun c:qq (/ d ...

辛苦了~感谢分享,最后个括号多了。
加入是否输出Excel选项就完美了?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-5-5 11:54 , Processed in 0.627122 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表