Free-Lancer 发表于 2013-10-27 15:39:59

参照LM:ACDOC把其它的都写了

本帖最后由 Free-Lancer 于 2014-10-27 08:43 编辑

讨论帖
http://bbs.xdcad.net/thread-669945-1-1.html

app.fas 定义函数

常量
*INFINITY*
_2PI
_3PI
_PI2
_PI4

简化函数
dump
e2o
fy:creat
fy:handle
fy:id
fy:id32
fy:idstr
fy:vapply
fy:vcatche
fy:vget
fy:vput
invoke
invokem
o2e

程序结构
fy:error
fy:begin
fy:end
fy:setv
fy:unsetv

集合定义
fy:acapp
fy:docs
fy:accmcolor
fy:layerstatemanager
fy:securityparams
fy:menugroups
fy:menubar
fy:preferences
当前文档集合
fy:acdoc
fy:acms
fy:acps
fy:acspace
fy:acblocks
fy:acdicts
fy:acdimstyles
fy:acgroups
fy:aclayers
fy:aclayouts
fy:acltypes
fy:acplotconfigs
fy:acpreferences
fy:acregapps
fy:acssets
fy:actextstyles
fy:acucss
fy:acviews
fy:acviewports
fy:acutil

ObjectDBX
fy:odbx

选择集
fy:clearcset
fy:cset
fy:cset->objs
fy:pickss
fy:ventsel
fy:entself
fy:getptss

Undo
fy:startundo
fy:endundo

数据转换
list->variantarray
lisp-value

ObjectID 和 Handle
fy:id2obj
fy:handle2obj

属性获取和修改
fy:get
fy:put

属性刷
fy:mat

字体定义
fy:setfont

窗口缩放
fy:zoomw
fy:zoomp

fy:pixeltodrawing
fy:screenbox
fy:isptoutscreen


(defun LM:acdoc    nil
(eval    (list 'defun
          'LM:acdoc
          'nil
          (vla-get-activedocument (vlax-get-acad-object))
    )
)
(LM:acdoc)
)
**** Hidden Message *****

















SmartStar 发表于 2013-10-27 15:41:23

le mac 的作品?

Free-Lancer 发表于 2013-10-27 16:38:10

SmartStar 发表于 2013-10-27 15:41
le mac 的作品?

跟大师学习,写程序的时候要经常一层层的翻ActiveX帮助,干脆把最上层的都写出来,只需要查后面的 Methods 和 Properties,也省码些代码

819534890 发表于 2013-10-27 17:02:17

看看隐藏些什么

xshrimp 发表于 2013-10-27 20:00:51

本帖最后由 xshrimp 于 2013-10-27 20:05 编辑

谢谢分享.

123523058 发表于 2013-10-27 20:48:39

不错的东西

q3_2006 发表于 2013-10-27 21:12:41

睡前看下,LM。。。大师呀

Free-Lancer 发表于 2013-10-27 21:23:47

一个图层锁定解锁例子

(defun c:tt (/ ll)
(fy:clearcset)
(fy:startundo)
(princ "\n空选全部解锁....")
(if (ssget)
    (progn
      (vlax-for obj (fy:cset)
       (if (not (vl-position (vla-get-layer obj) ll))
         (setq ll (cons (vla-get-layer obj) ll))
       )
      )
      (mapcar '(lambda (x)
         (vla-put-lock (vla-item (fy:aclayers) x) :vlax-true)
         )
          ll
      )
    )
    (vlax-for obj (fy:aclayers)
      (vla-put-lock obj :vlax-false)
    )
)
(fy:endundo)
(princ)
)

dnbcgrass 发表于 2013-10-27 22:11:55

看看,学习学习!:lol

ll_j 发表于 2013-10-28 07:48:32

怎么现在都喜欢讨回复了?

sicky111 发表于 2013-10-28 07:55:44

回复必须的。

Free-Lancer 发表于 2013-10-28 08:03:45

ll_j 发表于 2013-10-28 07:48
怎么现在都喜欢讨回复了?

长老,来了就打声招呼吗,其实更喜欢用 setpropertyvalue getpropertyvalue 了,这些偶尔用用:)

ll_j 发表于 2013-10-28 09:14:18

Free-Lancer 发表于 2013-10-28 08:03
长老,来了就打声招呼吗,其实更喜欢用 setpropertyvalue getpropertyvalue 了,这些偶尔用用

说实在的,到现在也没有参透LM大师的真正用意,不会VLisp,也就不敢乱说,总觉得是不是有什么玄机,否则不管从书写还是记忆,这样的格式都不能算方便。
正常写就是setq一句话的事情,这样的格式倒是多了很多累赘,而且还占用了一个函数名空间。
LM大师有一个好处,在程序中不使用本程序未定义的用户函数,这种函数在每个使用到的程序中都会复制一遍,一行是复制,一段也是复制,大概也就习惯了。^_^

/db_自贡黄明儒_ 发表于 2013-10-28 09:38:39

感谢分享,回复学习大师的东西

liuyj 发表于 2013-10-28 09:41:41

我也一直没明白他为什么这么写
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: 参照LM:ACDOC把其它的都写了