明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1652|回复: 7

[求助]关于SPLINE组值的提取

[复制链接]
发表于 2007-5-30 13:45:00 | 显示全部楼层 |阅读模式
本帖最后由 作者 于 2007-5-30 14:45:14 编辑

刚刚接触LISP,想将样条曲线的一些重要参数提取出来,知道(entget (car (entsel)));可以显示组码和组值

<图元名: 7ef4fe78>) (0 . "SPLINE") (330 . <图元名: 7ef4fcf8>) (5 . "87") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "0") (100 . "AcDbSpline") (210 0.0 0.0 1.0) (70 . 8) (71 . 3) (72 . 10) (73 . 6) (74 . 4) (42 . 1.0e-010) (43 . 1.0e-010) (44 . 1.0e-010) (12 0.139984 -0.990154 0.0) (13 -0.779531 -0.626364 0.0) (40 . 0.0) (40 . 0.0) (40 . 0.0) (40 . 0.0) (40 . 244.156) (40 . 601.112) (40 . 847.714) (40 . 847.714) (40 . 847.714) (40 . 847.714) (10 619.062 842.202 0.0) (10 630.454 761.618 0.0) (10 495.914 469.452 0.0) (10 924.454 699.482 0.0) (10 1141.31 412.322 0.0) (10 1077.23 360.835 0.0) (11 619.062 842.202 0.0) (11 593.489 599.388 0.0) (11 949.37 571.699 0.0) (11 1077.23 360.835 0.0))

我想提取其中一些组值后的组码,怎么办呢

比如我想提取组码是73的组值6这个代表控制点的个数,想把它提取并显示出来

 楼主| 发表于 2007-5-30 15:42:00 | 显示全部楼层
没人知道么?
 楼主| 发表于 2007-5-30 16:38:00 | 显示全部楼层

我查到将组群付给变量s为list类型,list长度也可以用vl-list-length提取

((-1 . <图元名: 7ef5edb8>)

 (0 . "LINE")

 (330 . <图元名: 7ef5ed18>)

 (5 . "37")

 (100 . "AcDbEntity")

 (67 . 0)

 (410 . "Model")

 (8 . "0")

 (100 . "AcDbLine")

 (10 71.7657 149.7 0.0)

 (11 202.085 225.3 0.0)

(210 0.0 0.0 1.0))

对于直线长度为12

那么我想提取感兴趣的比如第十一行的组码对应的值怎么办啊也就是 202.085 225.3 0.0

用什么语句啊,我对lisp实在不了解啊

有哪位知道的帮帮忙啊

在线等

发表于 2007-5-30 21:05:00 | 显示全部楼层

(cdr (assoc 73 a))

a是已经赋值的变量

发表于 2007-5-31 13:57:00 | 显示全部楼层
对象DXF群组码见:http://zml84.blog.sohu.com/24654857.html
从中找出你所感兴趣的组码,然后使用assoc函数。
 楼主| 发表于 2007-5-31 14:31:00 | 显示全部楼层
多谢提示,我再研究研究
 楼主| 发表于 2007-5-31 14:46:00 | 显示全部楼层

还想问一下,我想把组码和组值按顺序存在excel表里,比如

(100 . "AcDbEntity")100存在1行1列;AcDbEntity存在1行2列;

(10 71.7657 149.7 0.0)10存在2行1列;71.7657存在2行2列;149.7存在2行3列;0.0存在2行4列;

可以实现么,实现起来困难么

谢谢各位高手指教

发表于 2024-8-23 14:59:04 | 显示全部楼层
本帖最后由 寒潮大冬瓜 于 2024-8-23 15:00 编辑

https://atlisp.cn/docs/autolisp/DXF/dxf_0640.html

组码 说明
100 子类标记 (AcDbSpline)
210 法向矢量(如果样条曲线为非平面型,则省略)
DXF:X 值;APP:三维矢量
220, 230 DXF:法向矢量的 Y 值和 Z 值(可选)
70 样条曲线标志(按位编码):
1 = 闭合样条曲线
2 = 周期性样条曲线
4 = 有理样条曲线
8 = 平面
16 = 线性(同时还设置平面位)
71 样条曲线的阶数
72 节点数
73 控制点数
74 拟合点数(如果有)
42 节点公差(默认值 = 0.0000001)
43 控制点公差(默认值 = 0.0000001)
44 拟合公差(默认值 = 0.0000000001)
12 起点切向 可以省略(在 WCS 中)
DXF:X 值;APP:三维点
22, 32 DXF:起点切向的 Y 值和 Z 值 可以省略(在 WCS 中)
13 端点切向 可以省略(在 WCS 中)
DXF:X 值;APP:三维点
23, 33 DXF:端点切向的 Y 值和 Z 值 可以省略(在 WCS 中)
40 节点值(每个节点一个条目)
41 权值(如果不为 1);对于多组对,如果均不为 1,则出现。
10 控制点(在 WCS 中);每个控制点一个条目
DXF:X 值;APP:三维点
20, 30 DXF:控制点的 Y 值和 Z 值(在 WCS 中);每个控制点一个条目
11 拟合点(在 WCS 中);每个拟合点一个条目
DXF:X 值;APP:三维点
21, 31 DXF:拟合点的 Y 值和 Z 值(在 WCS 中);每个拟合点一个条目


本帖子中包含更多资源

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

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

本版积分规则

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

GMT+8, 2024-11-25 09:58 , Processed in 0.200858 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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