autolisp吧 关注:477贴子:1,087
  • 9回复贴,共1

有没有办法只用autolisp函数获取动态块的原名呢?

只看楼主收藏回复

本人用的苹果本,很多现成的工具没法用,只能自己写一些lisp。
而autocad for mac里只能用autolisp函数,visual lisp的统统不行。
具体就是vla,vlr,vlr开头的函数都不行。只能用autolisp和vl开头的。
如果有同用mac os的,也可以一起交流。目前我写了一些工具,比如画墙,墙上开洞、开窗,坐标标注,标高自动计算,填充墙体,填充线等等。


IP属地:四川1楼2017-09-19 18:09回复
    画一个动态块,然后查一下有没有相关组码不就好了


    IP属地:江苏来自iPhone客户端2楼2017-09-19 22:48
    收起回复
      大神有木有相关书籍资源啥的,求推荐。


      IP属地:贵州来自Android客户端3楼2017-10-06 19:57
      回复
        (defun Get-effectivename (blk / tem blkname)
        (setq blkname (cdr (assoc 2 (entget blk))));;取得当前动态块名
        (if (wcmatch blkname "`**");;如果是匿名块
        (if (and
        (setq tem
        (cdadr
        (assoc -3
        (entget
        (cdr
        (assoc 330
        (entget
        (tblobjname "block" blkname);;根据动态块名称取得图元名
        );;根据图元名取得实体
        )
        )
        '("AcDbBlockRepBTag")
        )
        )
        )
        )
        (setq tem (handent (cdr (assoc 1005 tem))))
        )
        (setq blkname (cdr (assoc 2 (entget tem))))
        )
        )
        blkname
        )


        4楼2017-10-09 15:37
        收起回复
          有没有试过,用windows下的autocad写lisp程序,带有VLA这些函数的,然后放到mac下能不能用?如果编译成fas和vlx,能不能拿过去用?


          IP属地:广东来自Android客户端5楼2024-04-23 14:47
          回复