CAD lisp语言编程!

现在我手里有如图1的表格,然后我现在想根据表上的80坐标把点展到CAD,然后在那个点的旁边注记如图2的对应信息,表上没有信息的,图上对应的位置也空起。... 现在我手里有如图1的表格,然后我现在想根据表上的80坐标把点展到CAD,然后在那个点的旁边注记如图2的对应信息,表上没有信息的,图上对应的位置也空起。 展开
 我来答
悄悄de爱上
2017-09-04 · TA获得超过2050个赞
知道小有建树答主
回答量:597
采纳率:66%
帮助的人:342万
展开全部

你这个问题主要的难点还是在如何读入excel文件吧,其他生成图像不是什么难点,这里就不加概述,重点说下怎么读入文件吧。其实挺好解决的,只要将excel表格转换成任何能用记事本打开且不出现乱码的形式,再用open函数加以调用读取即可,刚好excel另存的csv格式正好可以用记事本打开不出现乱码。

首先,你将excel另存成csv格式。然后:

(defun c:GETCSV (/ @file @ascii @char @fullChar @charLength)
  (setq @file (open (getfiled "数据读取" "" "csv" 2) "r"));选择并打开csv文件
  (setq@char ""
@fullChar ""
@ascii 0
  )
  (while @ascii
    (setq @ascii (read-char @file))
    (if @ascii
      (setq @char (chr @ascii))
    )
    (if(= @char ",")
      (setq @char " ")
    )
    (if(= @char "\n")
      (setq @char ")(")
    )
    (setq @fullChar (strcat @fullChar @char))
  );读入csv文件的内容,并根据内容转换成特定表样式的字符串,储存到@fullChar中
  (setq @charLength (strlen @fullChar))
  (while (or (= (substr @fullChar @charLength 1) ")")
    (= (substr @fullChar @charLength 1) "(")
)
    (setq @fullChar (substr @fullChar 1 (- @charLength 1)))
    (setq @charLength (strlen @fullChar))
  )处理@fullChar特定表样式的字符串尾部多余的括号
  (setq @fullChar (strcat "((" @fullChar "))"));将@fullChar前后各加两个括号和反括号
  (setq @pointList (read @fullChar));把字符串转换成表,储存到@pointList中
  (setq outside @pointList);将@pointList中的内容赋予全局变量ouside
  (close @file);CAD中停止调用之前打开的csv文件
  (princ)
)

之后,整个excel表的内容都在变量outside中,搭配car和cdr系列函数以及foreach函数去处理outside变量,并利用entmake创建出相应的CAD图元即可。

DFRobot
2024-11-10 广告
图形化编程是一种直观的编程方式,它通过拖拽图形化的编程积木来构建程序,降低了编程的学习门槛。在上海智位机器人股份有限公司,我们致力于将图形化编程应用于机器人教育等领域,使学习者能够以更加轻松、有趣的方式掌握编程技能。我们的图形化编程平台界面... 点击进入详情页
本回答由DFRobot提供
事来顺应
2017-08-17 · 超过13用户采纳过TA的回答
知道答主
回答量:45
采纳率:100%
帮助的人:15.4万
展开全部
转成特定测量数据格式就可以了导入cad
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
greatlmy4
2017-08-09 · TA获得超过1330个赞
知道小有建树答主
回答量:1446
采纳率:76%
帮助的人:313万
展开全部
这个好弄,不过你这个涉密,不沾为好。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
半途中888
2017-08-08 · TA获得超过837个赞
知道小有建树答主
回答量:463
采纳率:81%
帮助的人:128万
展开全部
你这是机密坐标吗,马赛克就像毛毛虫一样。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
linqiubo
2017-08-07 · TA获得超过2846个赞
知道小有建树答主
回答量:2171
采纳率:69%
帮助的人:467万
展开全部
我过来看看,学一下!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 3条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式