45296876 发表于 2013-4-7 15:16:39

请求前辈们帮忙改一下。

(defun C:ccc (/ E I O SS WID X)
(princ
    "\n"
)
(if (and (setq WID (getreal "\n输入文字高度: "))
   
       (setq SS (ssget '((0 . "INSERT") (66 . 1))))
      )
    (repeat (setq I (sslength SS))
      (and (setq E (ssname SS (setq I (1- I))))
      (setq O (vlax-ename->vla-object E))
    (mapcar
         '(lambda (X)
      (vla-put-height X WID)
   
          )
         (vlax-safearray->list
         (vlax-variant-value (vla-getattributes O))
         )
       )
      )
    )
)
(princ)
)






这是一个改属性块内文字字高的,我是从别人那里套来的。本来是改字宽的,我是一个一个的查表查到了那个字高的函数。替换了一下,只是不明白里面为什么这样写,这样写的意思不太明白,有没有大侠帮忙转成纯LISP形式呢?最好是每句话的意思都注解上,让我这样笨的人看得懂就行。简单的绘制门窗类的LISP倒是会写,都是死记硬背的。

阿霸jun 发表于 2013-4-7 16:18:49

自己查函数的解释很快就懂了撒~~~~

45296876 发表于 2013-4-7 21:14:48

查的表,有的话还是看不明白,可能是本人比较笨吧,脑子转不过来弯的关系。哎,慢慢练习吧。没什么爱好,最近迷上这东西了。

45296876 发表于 2013-4-8 13:03:43

阿霸jun 发表于 2013-4-7 16:18 static/image/common/back.gif
自己查函数的解释很快就懂了撒~~~~

实在搞不明白,要是有一个纯LISP的我还能一一对照一下,慢慢研究,应该 会有懂的一天。我已经研究了十来天了,硬是没整明白,可能是我太笨了。哎。
页: [1]
查看完整版本: 请求前辈们帮忙改一下。