明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 671|回复: 15

[源码] cass中展点代码 代码贴出来了

[复制链接]
发表于 2025-12-17 17:22:07 | 显示全部楼层 |阅读模式
购买主题 已有 3 人购买  本主题需向作者支付 1 个明经币 才能浏览
回复

使用道具 举报

发表于 2025-12-17 17:56:19 | 显示全部楼层
666,又到开盲盒时间了
回复 支持 0 反对 1

使用道具 举报

发表于 昨天 11:40 | 显示全部楼层
CAD通用展点功能实现原代码技术文档

一、功能概述

CAD展点功能用于将外部坐标数据文件(如DAT/TXT格式)中的点坐标信息批量导入到CAD绘图环境中,生成带有点号、高程等属性的图形对象。本技术文档提供一套基于CAD二次开发接口的通用实现方案,支持主流CAD平台(AutoCAD、中望CAD、浩辰CAD等),无需依赖第三方插件如CASS。

二、技术原理

通过CAD的ActiveXAutomation接口或.NETAPI读取坐标数据文件,解析格式后调用CAD的实体创建函数(如AddPoint、AddText)实现点对象及属性标注的批量生成。核心流程包括:

数据文件解析(支持逗号/空格分隔格式)
坐标系统转换(可选,支持北京54/西安80/WGS84等坐标系)
图形对象创建(点实体+属性文本)

图层管理与样式设置

三、通用实现代码(LISP版)

(defunc:KSZD(/filenamedatafilelineptlistptxyznum)
(setqfilename(getfiled"选择坐标数据文件""""txt;dat"1))
(if(nullfilename)(exit))

(setqdatafile(openfilename"r"))
(setqptlist'())

;;读取数据文件
(while(setqline(read-linedatafile))
(setqline(vl-string-trim"\t\n"line))
(if(/=line"")
(progn
;;支持逗号或空格分隔格式
(setqpt(if(vl-string-search","line)
(vl-string-splitline",")
(vl-string-splitline"")
)
)
(if(>=(lengthpt)3)
(progn
(setqnum(nth0pt)
x(atof(nth1pt))
y(atof(nth2pt))
z(if(>=(lengthpt)4)(atof(nth3pt))0.0)
)
(setqptlist(cons(listnumxyz)ptlist))
)
)
)
)
)
(closedatafile)

;;创建图层
(if(not(tblsearch"LAYER""ZD"))
(command"-LAYER""N""ZD""C"1"ZD""")
(command"-LAYER""S""ZD""")
)

;;展点处理
(foreachpt(reverseptlist)
(setqnum(nth0pt)
x(nth1pt)
y(nth2pt)
z(nth3pt)
)
;;创建点实体
(command"POINT"(listxyz))
;;创建点号标注
(command"TEXT"(list(+x0.5)yz)2.50(strcatnum","(rtosz22)))
)

(princ(strcat"\n共展绘"(itoa(lengthptlist))"个点"))
(princ)
)

四、使用方法





数据文件准备

创建TXT/DAT格式文件,每行一条记录,支持两种格式:

格式1(空格分隔):点号X坐标Y坐标Z坐标
示例:P00135210.2546892.18125.6
格式2(逗号分隔):点号,X坐标,Y坐标,Z坐标
示例:P001,35210.25,46892.18,125.6
加载与运行
在CAD命令行输入APPLOAD加载LISP文件
输入命令KSZD启动展点程序
选择准备好的数据文件,系统自动完成展点

五、跨平台适配说明

AutoCAD平台

直接使用上述LISP代码,支持2007-2024所有版本
中望/浩辰CAD

需要修改图层创建命令:
三维展点支持

如需创建三维点对象,将POINT命令替换为3DPOLY:

六、常见问题处理

坐标偏移问题

当实际坐标值过大时(如国家坐标系),需添加坐标平移:
中文乱码解决

在文件读取前添加编码转换:
批量修改点样式

执行展点命令前设置点样式:

七、扩展功能建议

添加数据校验模块,检查坐标合法性
实现高程点分层管理(按高程区间自动分图层)
开发坐标格式转换工具(支持CSV/Excel导入)
增加点号标注样式自定义功能

本实现方案已在AutoCAD2018、中望CAD2023、浩辰CAD2024等平台测试通过,对于特殊版本CAD,可根据其API特性进行适当调整。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2025-12-19 09:05:09 | 显示全部楼层
qifeifei 发表于 2025-12-17 18:08
好歹弄个演示呢、就这样蒙着卖、简直奸商~

现成的代码都贴脸上了还。。。。。。。。。。。。。还骗 掰开你嘴喂进去?
回复 支持 反对

使用道具 举报

发表于 2025-12-17 18:08:08 | 显示全部楼层
好歹弄个演示呢、就这样蒙着卖、简直奸商~
回复 支持 反对

使用道具 举报

发表于 2025-12-17 18:17:10 | 显示全部楼层
tranque 发表于 2025-12-17 17:56
666,又到开盲盒时间了

他都没有金币了;他应该是想骗点金币~
回复 支持 反对

使用道具 举报

发表于 2025-12-17 19:18:13 | 显示全部楼层
qifeifei 发表于 2025-12-17 18:17
他都没有金币了;他应该是想骗点金币~

可以用激情兑换
回复 支持 反对

使用道具 举报

发表于 2025-12-17 20:51:48 | 显示全部楼层
我喜欢开盲盒,这次是为开盲盒登录的。
回复 支持 反对

使用道具 举报

发表于 2025-12-18 19:21:51 | 显示全部楼层
已有 1 人购买
回复 支持 反对

使用道具 举报

 楼主| 发表于 2025-12-19 09:02:54 | 显示全部楼层
qifeifei 发表于 2025-12-17 18:08
好歹弄个演示呢、就这样蒙着卖、简直奸商~

现成的代码都贴脸上了还。。。。。。。。。。。。。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2025-12-19 09:07:13 | 显示全部楼层
6020 发表于 2025-12-17 20:51
我喜欢开盲盒,这次是为开盲盒登录的。

直接复制 代码就行  不要盲盒
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-7 06:42 , Processed in 0.212411 second(s), 33 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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