找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1243|回复: 16

[编程申请] 如何在cad里面通过excel依次展线,展点是可以的,并且设置线的颜色和图层

[复制链接]

已领礼包: 50个

财富等级: 招财进宝

发表于 2019-7-15 09:15:47 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
本帖最后由 君是我的泪 于 2019-7-15 09:26 编辑

请点击此处下载

查看状态:需购买或无权限

您的用户组是:游客

文件名称:rank.xls 
下载次数:10  文件大小:36 KB 
下载权限: 不限 以上  [免费赚D豆]

VBA执行,alt+f11运行
未命名.JPG
C行代表线号
D行代表点号
E行可表示图层
A   x轴

B   y轴
源文件亲测可试,在此基础上增加筛选展线功能,用来将每一条线分解成多段,分颜色表示
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 1268个

财富等级: 财源广进

发表于 2019-7-15 09:44:30 | 显示全部楼层
看不懂,画个和数据对应的示例图

点评

[attachimg]91255[/attachimg]  详情 回复 发表于 2019-7-17 09:19
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 5295个

财富等级: 富甲天下

发表于 2019-7-15 09:53:00 | 显示全部楼层
不错的工具,可以方便使用、也可以帮助大家学习代码
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 50个

财富等级: 招财进宝

 楼主| 发表于 2019-7-17 09:19:29 | 显示全部楼层
st788796 发表于 2019-7-15 09:44
看不懂,画个和数据对应的示例图

4578.535
857.0983
4578.5349,857.0983
pl
layer1
0,255,255
16458.53
857.0983
16458.5349,857.0983
pl
layer1
0,255,255
16458.53
15988.87
16458.5349,15988.8722
pl
layer2
255,255,0
4578.535
15988.87
4578.5349,15988.8722
pl
layer2
255,255,0
4578.535
857.0983
4578.5349,857.0983
pl
layer2
255,255,0




بدون عنوا&#160.png
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 511个

财富等级: 财运亨通

发表于 2019-7-18 08:23:05 | 显示全部楼层
本例为一种思路,供参考。注: EXCEL文件的F列必须设置为文本
(defun c:exht (/ xl fl fn lst p0 p1 tc ys)
    (vl-load-com)
    (setvar "cecolor" "bylayer")
    (defun Excel-Get-CellValue (xl cell)
        (setq xlsval (vlax-variant-value (vlax-get-property (vlax-get-property xl "range" cell) "Value"))))
    (setq fl (getfiled "选择数据文件" "" "xls" 8))
    (if        (setq fn (findfile fl))
        (if (setq xl (vlax-get-or-create-object "Excel.Application"))
               (progn
                   (vlax-invoke-method (vlax-get-property xl 'WorkBooks) 'Open fn)
;;;                   (vla-put-visible xl 1)        ;此行可略去
                   (setq ii 0 lst nil)
                   (while (setq        dyg (Excel-Get-CellValue xl (strcat (chr (+ 65 ii)) "1")   )          )
                       (setq lst (cons dyg lst) ii (1+ ii))   )        ;读入第1行,组成LIST
                   (setq lst (reverse lst) p0 (list (nth 0 lst)(nth 1 lst)))        ;取得坐标
                   (setq jj 2)
                   (while (Excel-Get-CellValue xl (strcat "A" (rtos jj)))
                       (setq ii 0 lst nil)
                       (while (setq dyg (Excel-Get-CellValue xl (strcat (chr (+ 65 ii)) (rtos jj))   )          )
                           (setq lst (cons dyg lst) ii (1+ ii)) )        ;读入后续行数据,组成LIST
                       (setq lst (reverse lst)
                             p1 (list (nth 0 lst)(nth 1 lst))        ;取得坐标
                             tc (nth 4 lst)                        ;取得图层名
                             ys (read (vl-string-translate "," " " (strcat "(" (nth 5 lst) ")"))));组成RGB值LIST
                       (if (not (tblsearch "layer" tc))(command "layer" "n" tc ""));建立新的图层
                       (vl-cmdf "layer" "s" tc "");将新建的图层置为当前层
                       (setq acCmColo (vla-getinterfaceobject (vlax-get-acad-object)
                                (strcat "AutoCAD.AcCmColor." (substr (getvar "ACADVER") 1 2))))
                       (vlax-invoke-method acCmColo "SetRGB" (car ys) (cadr ys) (last ys));建立RGB颜色
                       (vlax-for Layer (vla-get-Layers                                ;以下4行置图层RGB颜色
                                           (vla-get-ActiveDocument (vlax-get-acad-object)) )
                           (if (= (vlax-get-property Layer "name") tc)
                               (vlax-put Layer "Truecolor" acCmColo)))
                       (vl-cmdf "pline" p0 p1 "")
;;;                       (vlax-put-property (vlax-ename->vla-object (entlast)) 'trueCOLOR acCmColo);本行置最后图元的RGB颜色
                       (setq p0 p1 jj (1+ jj))  )        ;交换点坐标
                   (vlax-invoke-method xl 'quit)
                   (vlax-release-object xl)
                   (vl-cmdf "regen" "zoom" "e")
               );progn
        );if
    );if  
)
(prompt "command: exht")(princ)

点评

能让画出来的线 多条首尾相连吗?也就是pline,这个dxf转化成kml方便点,不然还得选择,可否设置一个switch  详情 回复 发表于 2019-7-19 13:40
给一个颜色文本的格式,是按照上表来的嘛?  详情 回复 发表于 2019-7-19 09:13
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 50个

财富等级: 招财进宝

 楼主| 发表于 2019-7-19 09:13:01 | 显示全部楼层
本帖最后由 君是我的泪 于 2019-7-19 09:19 编辑
pxr201419 发表于 2019-7-18 08:23
本例为一种思路,供参考。注: EXCEL文件的F列必须设置为文本
(defun c:exht (/ xl fl fn lst p0 p1 tc ys ...

给一个颜色文本的格式,是按照上表来的?excel新建一行依然有效?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 50个

财富等级: 招财进宝

 楼主| 发表于 2019-7-19 13:40:21 | 显示全部楼层
pxr201419 发表于 2019-7-18 08:23
本例为一种思路,供参考。注: EXCEL文件的F列必须设置为文本
(defun c:exht (/ xl fl fn lst p0 p1 tc ys ...

能让画出来的线 多条首尾相连吗?也就是pline,这个dxf转化成kml方便点,不然还得选择,可否设置一个switch
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 511个

财富等级: 财运亨通

发表于 2019-7-19 15:11:07 | 显示全部楼层
本帖最后由 pxr201419 于 2019-7-19 15:12 编辑

那就是说一张表里的数据画一根PLINE ?那E列表示的是什么?一根线不可能在多个图层上

点评

[attachimg]91860[/attachimg] 由衷的谢谢  详情 回复 发表于 2019-7-26 14:03
一条连续的线一个图层,这个是导入奥维地图做kml 用的  详情 回复 发表于 2019-7-19 19:28
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 50个

财富等级: 招财进宝

 楼主| 发表于 2019-7-19 19:28:56 | 显示全部楼层
pxr201419 发表于 2019-7-19 15:11
那就是说一张表里的数据画一根PLINE ?那E列表示的是什么?一根线不可能在多个图层上

一条连续的线一个图层,这个是导入奥维地图做kml 用的
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 50个

财富等级: 招财进宝

 楼主| 发表于 2019-7-26 14:03:20 | 显示全部楼层
pxr201419 发表于 2019-7-19 15:11
那就是说一张表里的数据画一根PLINE ?那E列表示的是什么?一根线不可能在多个图层上

la_solei

由衷的谢谢
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 50个

财富等级: 招财进宝

 楼主| 发表于 2019-7-30 15:10:21 | 显示全部楼层
本帖最后由 君是我的泪 于 2019-7-30 15:14 编辑



如何设置一条pl路径,多种line颜色,但首尾相连且连续,可以标注kml上的路径,这又是另一个思路
4578.535
857.0983
1.14578.5349,857.0983,1.1pllayer10,255,255
16458.53
857.0983
2.216458.5349,857.0983,2.2pllayer10,255,255
16458.53
15988.87
1.216458.5349,15988.8722,1.2pllayer2255,255,0
4578.535
15988.87
1.24578.5349,15988.8722,1.2pllayer2255,255,0
4578.535
857.0983
2.24578.5349,857.0983,2.2pllayer2255,255,0

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

发表于 2019-7-31 06:56:57 | 显示全部楼层
pline 是一个实体,不能每段一个颜色

点评

[attachimg]92014[/attachimg] 首尾相连或者首位不相连,颜色可以一拉就行,这样可以做到吗?  详情 回复 发表于 2019-7-31 15:09
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 50个

财富等级: 招财进宝

 楼主| 发表于 2019-7-31 15:09:57 | 显示全部楼层
本帖最后由 君是我的泪 于 2019-7-31 15:11 编辑
st788796 发表于 2019-7-31 06:56
pline 是一个实体,不能每段一个颜色

未标题-1 拷贝.jpg
首尾相连或者首位不相连的line,颜色可以一拉就行,这样可以做到吗?首尾相连,单色应用在等水压线上,不相连可以在奥维kml上


点评

您好 請教一下,我下載excel檔後 我執行後出現錯誤的訊息 [attachimg]108204[/attachimg]  详情 回复 发表于 2023-6-17 18:10
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 283个

财富等级: 日进斗金

发表于 2023-6-17 18:10:05 | 显示全部楼层
君是我的泪 发表于 2019-7-31 15:09
首尾相连或者首位不相连的line,颜色可以一拉就行,这样可以做到吗?首尾相连,单色应用在等水压线上, ...


您好

請教一下,我下載excel檔後
我執行後出現錯誤的訊息
Image 004.png

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 225个

财富等级: 日进斗金

发表于 2023-12-1 08:51:41 | 显示全部楼层
谢谢分享!!!!!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-5-15 17:11 , Processed in 0.548280 second(s), 61 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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