明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2633|回复: 6

cad中的排序

[复制链接]
发表于 2006-7-9 15:13:00 | 显示全部楼层 |阅读模式
我现在编辑一个读材料表到一个文件的程序,就是想将cad图中的材料表数据输入到文本文件中。初始想法是:框选材料表将非文本过滤掉,然后按行写入文件中。现在有两个问题:就是选择集中是怎么排序的?我现在能找到同一行的一系列数据,找到这一系列数据的同时不知道怎么排序。本来可以取文本所在的坐标排序,但是不知道怎么用数组操作。包括行好的排序。

请教各位给点提示。
发表于 2006-7-9 17:50:00 | 显示全部楼层

可以用"acad_strlsort"函数,例如

(setq mos '("Jan" "Feb" "Mar" "Apr" "May" "Jun" "Jul" "Aug"

"Sep" "Oct" "Nov" "Dec")) 

 (acad_strlsort mos)

发表于 2006-7-9 22:00:00 | 显示全部楼层

命令:scwb

本帖子中包含更多资源

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

x
 楼主| 发表于 2006-7-11 18:44:00 | 显示全部楼层

首先感谢二位的作答,rongyifei没有理解到我的意思。acad_strlsort Function Sorts a list of strings in alphabetical order 对字符串按字母排列。

xyp1964很了解我的意图, “按文本(text)对齐点纵坐标从上到下顺序输出
      程序命令: SCWB  (输出文本)”但是出错了“; 错误: no function definition: UREAL”。

现在我主要是想了解一下你程序主要思路,如果能共享源代码更好。这些数据怎么按坐标排序的?请指教!邮箱tpjdc@sohu.com

发表于 2006-7-12 08:32:00 | 显示全部楼层

由于AUTOLISP语言中没有数组这种数据结构,排序问题一直是LISP中的一个难点.

解决的办法是采用arx

 

发表于 2006-7-12 09:09:00 | 显示全部楼层
如果配合mapcar,lambda,vl-sort等函数,Lisp的排序功能强于其他语言,数组这种结构远没有Lisp的表灵活,只是近来Lisp在CAD中没有ARX那样被重视,在2007中ARX改进了很多,而Lisp却原封不动.
 楼主| 发表于 2006-7-12 13:08:00 | 显示全部楼层

回6楼,我查了这些函数的用途还是没有明白怎么排序?而且这个排序是一个未知元素多少的数组.我倒是有办法排序,关键是把坐标排序之后怎么才能找到坐标相关联的那个数据呢.因为排序过程中已经将这些打乱,相当于要记录每次找到的最大或最小的原始位置.这个很难呢.

一定有其他简便的方法,3楼看来有办法,可是一直没有露面.

谢谢大家!

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

本版积分规则

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

GMT+8, 2025-12-18 03:50 , Processed in 0.154154 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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