明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3552|回复: 11

[基础] 求批量参数化

[复制链接]
发表于 2013-3-30 22:22 | 显示全部楼层 |阅读模式
30明经币
由于自己学艺不精,至今读取EXCEL还没学会
想请教高手帮我完善一下
目的,读取EXCEL单元格数据,来完成CAD画图
lisp部分,自己编了一个,
请求写连接EXCEL部分
请看图片
cad部分


excel格式


希望高手帮帮忙,谢谢了!!!!
附件: 您需要 登录 才可以下载或查看,没有账号?注册

最佳答案

查看完整内容

假设你的文件目录为d:/test.xls ,excel安装在d盘,以下代码为打开excel文件并为A01行的w, h1, h2赋值
发表于 2013-3-30 22:22 | 显示全部楼层
假设你的文件目录为d:/test.xls ,excel安装在d盘,以下代码为打开excel文件并为A01行的w, h1, h2赋值
  1. (defun c:tt()
  2. (vl-load-com)
  3. (if (null lem-acos)
  4.   (vlax-import-type-library
  5.     :tlb-filename "D:/office/OFFICE11/excel.exe"
  6.     :methods-prefix "lem-"
  7.     :properties-prefix "lep-"
  8.     :constants-prefix "lec-"
  9.     ))
  10.   (setq fname "d:/test.xls")
  11. (setq xlobj (vlax-create-object "excel.application"))
  12.   (vlax-invoke-method (vlax-get-property xlobj 'workbooks) 'open fname)
  13.   (vla-put-visible xlobj 1)
  14.   (setq sheetobj (lep-get-aCtivesheet xlobj))
  15.   (setq rangeob (lep-get-cells sheetobj))
  16.   (setq rangeob1(lep-get-range sheetobj "B2"))
  17.   (setq rangeob2(lep-get-range sheetobj "C2"))
  18.   (setq rangeob3(lep-get-range sheetobj "D2"))
  19.   (setq W(vlax-variant-value (lep-get-value rangeob1)))
  20.   (setq H1(vlax-variant-value (lep-get-value rangeob2)))
  21.   (setq H2(vlax-variant-value (lep-get-value rangeob3)))
  22.   )


点评

请问,EXCEL2010应该怎么写?我在EXCEL2010运行不通啊  发表于 2013-12-22 13:04
回复

使用道具 举报

 楼主| 发表于 2013-3-30 22:25 | 显示全部楼层
  1. (defun c:tt ()
  2.   (setvar "cmdecho" 0)
  3.   (setq osmode_bak (getvar "osmode"))
  4.   (setvar "osmode" 0)

  5.   (setq pt (getpoint "\n 点取图起点"))
  6.   (while pt
  7.     (setq w (getreal "\n 输入W值="))
  8.     (if  (= w nil)(vl-exit-with-error ""))
  9.     (setq h1 (getreal "\n 输入H1值="))
  10.     (setq h2 (getreal "\n 输入H2值="))
  11.     (setq bh (getstring "\n 输入编号="))
  12.     (setq pt2 (polar pt 0 w))
  13.     (setq pt3 (polar pt2 (* pi 1.5) h2))
  14.     (setq pt4 (polar pt (* pi 1.5) h1))
  15.     (command "pline" pt pt2 pt3 pt4 "c")
  16.     (command "text" (inters pt pt3 pt2 pt4) "50" "0" bh)
  17.     (setq pt (polar pt 0 (+ w 1000)))
  18.   )
  19.   (setvar "cmdecho" 1)
  20.   (setvar "osmode" osmode_bak)
  21. )
回复

使用道具 举报

 楼主| 发表于 2013-3-31 21:00 | 显示全部楼层
本帖最后由 为什么任兵 于 2013-3-31 21:07 编辑
陨落 发表于 2013-3-31 16:21
假设你的文件目录为d:/test.xls ,excel安装在d盘,以下代码为打开excel文件并为A01行的w, h1, h2赋值

非常感谢,达到我的需求,后续,自己做了循环。(strcat "A" (itoa (+ nn 1)))
也感谢院长,他最先给我写了,是我要的效果,
只是其中镶套太多函数,奥妙无穷,
而且自己想要源码,作为参考,
陨落大师,多谢了!!


回复

使用道具 举报

发表于 2013-4-1 18:49 | 显示全部楼层
为什么任兵 发表于 2013-3-31 21:00
非常感谢,达到我的需求,后续,自己做了循环。(strcat "A" (itoa (+ nn 1)))
也感谢院长,他最先给我写 ...

大家互相交流。我不是大师
回复

使用道具 举报

发表于 2013-12-20 15:53 | 显示全部楼层
陨落 发表于 2013-3-30 22:22
假设你的文件目录为d:/test.xls ,excel安装在d盘,以下代码为打开excel文件并为A01行的w, h1, h2赋值

谢谢大师,学习了
回复

使用道具 举报

发表于 2013-12-21 21:43 | 显示全部楼层
cad与excel交互应用,学习了
回复

使用道具 举报

发表于 2013-12-21 21:43 | 显示全部楼层
cad与excel交互应用,学习了
回复

使用道具 举报

发表于 2013-12-22 21:36 | 显示全部楼层
回复

使用道具 举报

发表于 2013-12-22 22:14 | 显示全部楼层
这个真的不错!参数化绘图!努力!
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-29 01:33 , Processed in 0.458663 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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