明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: nodbird

求助选线,文字问题

  [复制链接]
 楼主| 发表于 2004-7-2 00:09:00 | 显示全部楼层
非常感谢飞哥!!.这是读取一组数据,如果是多组数据,请问用什么方法?我试着修改一下.
发表于 2004-7-2 08:19:00 | 显示全部楼层
所以我在那个帖子里说了,你说的还是不够详细,我写的还是相当于一个例子。。。这怪不得我了,你要读多组数据,给我的数据文件至少该有两组以上吧(别马上给我数据,如果你要我改,除了这个,肯定还有很多问题,希望你都说了)
 楼主| 发表于 2004-7-2 16:01:00 | 显示全部楼层
应该没有别的问题了,


就是想请教一下(setq sRow (mapcar '(lambda(e) (- (ascii (strcase e)) 64)) sRow)),这句一直没理解明白,帮助文件里说的也看不大懂,请帮我解释一下.


还有你定义的Calcell函数用在那个语句里,我有点粗心,没找到啊.


关于多组数据的问题,就是把我前面传的哪个EXCEL数据多复制几列.就跟在<EXCEL与CAD>里求助的那位朋友想实现的差不多.呵呵,让飞哥费心了
发表于 2004-7-2 16:46:00 | 显示全部楼层
这个函数这里用不上,是EXCEL取行和取列的函数用的,跟EXCEL操作函数配套出现,我以前拷了过来,由于取行和取列的函数这里用不上,我就把它给删了,但忘了删这个函数了


至于上面那句代码的意思就是求出一个列表中的字符的ascii值,再减去64,使得"a"对应1,"b"对应2。。。"z"对应26,
 楼主| 发表于 2004-7-2 17:20:00 | 显示全部楼层
有个请教一下,就是程序里按顺序读取单元格,并取值的语句,我也不是很明白,能否解释一下,费心了~


还有13楼说的读取多组数据实现,如果飞哥没时间,能否告之实现方法.
发表于 2004-7-2 17:27:00 | 显示全部楼层
怎么个不明白法?


到现在,你好象都没有漏你的底,不要只是一个不明白,不懂,你该说说你的理解,这样我就知道你大概的水平,我还针对来说,否则,我说简单了,你还是不明白,说复杂了(如:setq是什么东西等等),我不愿意,你也不愿意


多组数据的实现,要根据你数据存的位置,读出来,画线,这些函数都有了,你只需要指定一下位置就可以了,你看看getrange函数的几个参数,再看看你的EXCEL文件中数据的位置,这样都看不明白?
 楼主| 发表于 2004-7-2 18:12:00 | 显示全部楼层
呵呵,飞哥,我只是一个初学者,很多地方都不明白,现在正在努力, 你给的程序大多还是能看懂的,就是读取EXCEL的数据始终看不懂,因为我对lambda,vl-every,等函数很陌生,帮助也讲的很粗略,以前看过明经网站的读取EXCEL那片文章,,都是用循环语句,由行到列,或者由列到行的读取,并取值. 你的程序没有循环,所以....,主要是以下几句不太懂. (if (/= (type val) 'REAL)
(progn
(setq items (vlax-safearray->list val))
(setq items (mapcar '(lambda(e) (mapcar 'vlax-variant-value e)) items))
)
(setq items val) 还有(setq a (mapcar '(lambda(e) (if (not (vl-every 'null e)) e)) A))
(setq a (vl-remove nil a)) ............................... (setvar "dimzin" zin)
发表于 2004-7-2 18:33:00 | 显示全部楼层
这些要多练才能熟练的,这类函数你可以根据例子先看明白是怎么用的,然后自己再多练,这类函数用熟了,就是所谓的技巧吧,可以使你的程序简化很多,


程序中还有些不明白的也不要着急,慢慢来,等你程序写多了,自然就明白了


注:按那片文章的方法循环读取数据的话,如果数据量稍微多点,就会很慢
 楼主| 发表于 2004-7-2 22:13:00 | 显示全部楼层
呵呵,谢谢,再请教一下飞哥,写程序的时候总是要用到画虚线,但是不知道应该怎么写语句,


还有就是我想把你写的程序画出的垂线段改成虚线,应该怎么写,


这个是基本的,但教程和帮助上都没有,,如果有这方面的例子,能否给我一下,谢谢了.
发表于 2004-7-2 22:30:00 | 显示全部楼层
这是基本的,而且你也不应该不会,


你可以使用LAYER命令,新建一个层,把这个层的线型设为虚线,然后再画直线


或者,画完直线再修改直线的线型(change命令)


以下是使用后者的一个例子,要在每画完一条直线后紧跟着使用


(COMMAND "_.CHANGE" (ENTLAST) "" "" "LT" "DASHED" "")
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-10-1 02:19 , Processed in 0.150286 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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