[求助]关于atoms-family 函数的讨论
<FONT face=宋体,verdana,arial,helvetica></FONT><INPUT class=btn style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体" onclick="text1.style.fontSize='12pt';" type=button value=12号字> <OPTION value="9pt">9pt</OPTION> <OPTION value="10pt" selected>10pt</OPTION> <OPTION value="11pt">11pt</OPTION> <OPTION value="12pt">12pt</OPTION> <OPTION value="13pt">13pt</OPTION> <OPTION value="15pt">15pt</OPTION> <FONT id=text1 style="FONT-SIZE: 10pt" face="宋体,verdana, arial, helvetica"><BR>关于所有的全局变量符号名可以用函数: atoms-family 获得<BR>返回由当前已定义的符号组成的一个表<BR>(atoms-family format ) <BR>参数<BR>format <BR>值为 0 或 1 的整数,它用于指定 atoms-family 函数返回符号名的格式:<BR>0 以表的形式返回符号名<BR>1 以字符串表的形式返回符号名<BR>symlist <BR>用于指定用户想搜索的符号名的字符串表。<BR>返回值<BR>符号表。如果指定了 symlist,atoms-family 返回当前定义的指定符号,对那些没有定义的符号返回 nil。<BR>样例<BR>命令:(atoms-family 0) <BR>(BNS_PRE_SEL FITSTR2LEN C:AI_SPHERE ALERT DEFUN C:BEXTEND REM_GROUP <BR>B_RESTORE_SYSVARS BNS_CMD_EXIT LISPED FNSPLITL...<BR>下列代码检验符号 CAR、CDR 和 XYZ 是否已被定义并将其以字符串表形式返回:<BR>命令:(atoms-family 1 '("CAR" "CDR" "XYZ")) <BR>("CAR" "CDR" nil)<BR>这个返回的字符串表表明符号 XYZ 没有被定义。<BR>在论坛中,有位高手告诉我:<BR>atoms-family 函数通过这个函数,在和 type 配合,可以得到所有的变量名,在用 eval 函数,可以得到变量的值。<BR><BR>但是我现在还是搞不懂如何实现,知道的变量名可以同感eval获得变量的值,但是如何获得全部变量呢?<BR>是这个命令吗?<BR>atoms-family 0) <BR>我怎么每次返回的东西是一样,只是顺序有所改变,还是我操作有误。先谢谢了</FONT> <BR> 指令: (SETQ LUNG 5)<BR>5指令: (EVAL (CAR (MEMBER 'LUNG (ATOMS-FAMILY 0))))<BR>5
指令: !LUNG<BR>5<BR> 不是求值,是想获得<FONT size=2>所有的全局变量名,该如何操作。</FONT> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt">传回目前已定义符号的串行<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p></o:p>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face="Times New Roman">(atoms-family format )<o:p></o:p></FONT>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><o:p> </o:p>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt">全局变量名是符号的一种<o:p></o:p>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt">即<FONT face="Times New Roman">(atoms-family 0) </FONT>传回目前已定义符号的串行中包含所有全局变量名<o:p></o:p>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><o:p><FONT face="Times New Roman"> </FONT></o:p> <FONT face="Times New Roman">(atoms-family 0) 在我这里传回的vla开头的变量,而我自己的函数的变量没有出现,这是怎么回事,在你的机子上试过吗?,我是先启动cad,用<SPAN lang=EN-US style="FONT-SIZE: 10pt; mso-fareast-language: ZH-CN; mso-fareast-font-family: SimSun"><FONT face="Times New Roman">(atoms-family 0) 获得变量列表,然后运行chtxt,再运行<SPAN lang=EN-US style="FONT-SIZE: 10pt; mso-fareast-language: ZH-CN; mso-fareast-font-family: SimSun"><FONT face="Times New Roman">(atoms-family 0) ,列出的变量是一样的,只是前几个变量换到了后面而已。</FONT></FONT></SPAN></FONT></SPAN> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt">注意<FONT face="Times New Roman">:(atoms-family 0) </FONT>傳回目前已定義符號的串列中包含所有總體變數名<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p></o:p>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt">你有看懂<FONT face="Times New Roman">2</FONT>樓表示甚麼嗎<FONT face="Times New Roman">?<o:p></o:p></FONT>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><o:p><FONT face="Times New Roman"> </FONT></o:p>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt">指令<FONT face="Times New Roman">: (defun c:123 () (princ 123))<o:p></o:p></FONT>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face="Times New Roman">C:123<o:p></o:p></FONT>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><o:p><FONT face="Times New Roman"> </FONT></o:p>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt">指令<FONT face="Times New Roman">: (CAR (MEMBER 'C:123 (ATOMS-FAMILY 0)))<o:p></o:p></FONT>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face="Times New Roman">C:123<o:p></o:p></FONT> 谢谢龙龙仔,我明白了,是不是有autocad的文本窗口显示有限,有些变量显示不出来了,设置选择方式,就可以显示出来了,是不是这样啊?
谢谢了
页:
[1]