【AutoCAD导出多线段为csv文件】【Abaqus拓扑仿真教程链接】【Transform .csv to .gcode】

本文介绍了如何使用AutoCAD的AutoLisp和VisualLISP编辑器,编写一个LISP函数,自动从多线段提取坐标并保存为CSV文件,以简化3D打印路径规划过程。

背景

【2024.3.25】 我自己规划3D打印的路径时,使用AutoCAD进行具体的路径规划,但是苦于其多线段的坐标难以直接导出,摸索多日未得善终。
而后在ChatGPT4的建议下使用AutoCAD自带的代码语言AutoLisp,及其编辑器 Visual Lisp,实现选取多线段自动导出其所有坐标点为csv文件的功能。
具体代码由ChatGPT4生成,这里放在最后。
【2025.3.30】鉴于有学弟要重复我的工作,于是将这篇博文详实一些。

具体操作方式

这个操作方式可以实现 点几下就能将Autocad里的多线段直接变成可以运行的Gcode文件。

  1. 将[线段]转成[多线段]然后合并,或者将多个[多线段]合并在一起
    参考文章: AutoCAD多条线合并为一个整体即一条多段线方法
    实际上就是使用在【命令行】输入”PE“,然后根据它的按钮指引就能完成线段合并。
  2. 使用的语言和编辑器 :AutoLisp和Visual LISP 编辑器

编辑器打开的位置

autolisp代码片段

; 定义一个新的LISP函数
(defun c:GetPolylinePointsCSV ()
  ; 获取当前文档的名称
  (setq doc (vla-get-ActiveDocument (vlax-get-acad-object)))
  (setq filename (vla-get-Name doc))

  ; 提取文件名(无扩展名)
  (setq filetitle (vl-filename-base filename))

  ; 设置输出CSV文件的路径和文件名
  (setq csvpath (strcat filetitle "_polyline_points.csv"))

  ; 提示用户选择一个多项段
  (setq ss (ssget "_:S" '((0 . "LWPOLYLINE"))))
  (if ss
    (progn
      ; 如果用户成功选择了一个多项段
      (setq pline (ssname ss 0))
      ; 打开或创建一个CSV文件来保存坐标
      (setq f (open csvpath "w"))
      ; 写入CSV头部(如果需要)
      ; (write-line "X, Y" f)
      ; 初始化顶点索引
      (setq vtx 0)
      ; 循环遍历多项段的所有顶点
      (while (setq pt (vlax-curve-getPointAtParam pline vtx))
        ; 将每个顶点的坐标写入文件,格式为CSV
        (write-line (strcat (rtos (car pt) 2 2) ", " (rtos (cadr pt) 2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值