设为首页收藏本站

晓东CAD家园-论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

返回列表
查看: 16449|回复: 165

[源码] 参照LM:ACDOC把其它的都写了

  [复制链接]

签到天数: 367 天

连续签到: 1 天

[LV.9]以坛为家II

发表于 2013-10-27 15:39:59 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 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


  1. (defun LM:acdoc    nil
  2.   (eval    (list 'defun
  3.           'LM:acdoc
  4.           'nil
  5.           (vla-get-activedocument (vlax-get-acad-object))
  6.     )
  7.   )
  8.   (LM:acdoc)
  9. )

游客,如果您要查看本帖隐藏内容请回复





















上一篇:如何使polyline偏置后的倒角(c 角)大小不要发生变化?
下一篇:[功能] 数字圆整(round 数 最后数字倍数 小数位数)

func.pdf

532.93 KB, 下载次数: 173

app141027.rar

9.84 KB, 下载次数: 215

评分

参与人数 3D豆 +15 收起 理由
WhoCanSay + 5 很给力!经验;技术要点;资料分享奖!
QiaoCheng + 5 技术引导讨论和指点奖!
xshrimp + 5 很给力!经验;技术要点;资料分享奖!

查看全部评分

本帖被以下淘专辑推荐:

回复
百度谷歌雅虎搜狗搜搜有道360奇虎

使用道具 举报

签到天数: 92 天

连续签到: 1 天

[LV.6]常住居民II

点击这里给我发消息

已领礼包: 185个

财富等级: 日进斗金

发表于 2013-10-27 15:41:23 | 显示全部楼层
le mac 的作品?

点评

跟大师学习,写程序的时候要经常一层层的翻ActiveX帮助,干脆把最上层的都写出来,只需要查后面的 Methods 和 Properties,也省码些代码  详情 回复 发表于 2013-10-27 16:38
回复 支持 反对

使用道具 举报

签到天数: 367 天

连续签到: 1 天

[LV.9]以坛为家II

 楼主| 发表于 2013-10-27 16:38:10 | 显示全部楼层

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

回复 支持 反对

使用道具 举报

签到天数: 1292 天

连续签到: 5 天

[LV.10]以坛为家III

点击这里给我发消息

已领礼包: 2915个

财富等级: 家财万贯

发表于 2013-10-27 17:02:17 | 显示全部楼层
看看隐藏些什么
回复 支持 反对

使用道具 举报

签到天数: 154 天

连续签到: 1 天

[LV.7]常住居民III

点击这里给我发消息

已领礼包: 205个

财富等级: 日进斗金

发表于 2013-10-27 20:00:51 | 显示全部楼层
本帖最后由 xshrimp 于 2013-10-27 20:05 编辑

谢谢分享.
回复

使用道具 举报

签到天数: 30 天

连续签到: 1 天

[LV.5]常住居民I

发表于 2013-10-27 20:48:39 | 显示全部楼层
不错的东西
回复 支持 反对

使用道具 举报

签到天数: 1173 天

连续签到: 9 天

[LV.10]以坛为家III

已领礼包: 2475个

财富等级: 金玉满堂

发表于 2013-10-27 21:12:41 | 显示全部楼层
睡前看下,LM。。。大师呀
回复 支持 反对

使用道具 举报

签到天数: 367 天

连续签到: 1 天

[LV.9]以坛为家II

 楼主| 发表于 2013-10-27 21:23:47 | 显示全部楼层
一个图层锁定解锁例子
  1. (defun c:tt (/ ll)
  2.   (fy:clearcset)
  3.   (fy:startundo)
  4.   (princ "\n空选全部解锁....")
  5.   (if (ssget)
  6.     (progn
  7.       (vlax-for obj (fy:cset)
  8.        (if (not (vl-position (vla-get-layer obj) ll))
  9.          (setq ll (cons (vla-get-layer obj) ll))
  10.        )
  11.       )
  12.       (mapcar '(lambda (x)
  13.          (vla-put-lock (vla-item (fy:aclayers) x) :vlax-true)
  14.            )
  15.           ll
  16.       )
  17.     )
  18.     (vlax-for obj (fy:aclayers)
  19.       (vla-put-lock obj :vlax-false)
  20.     )
  21.   )
  22.   (fy:endundo)
  23.   (princ)
  24. )


回复 支持 反对

使用道具 举报

签到天数: 1066 天

连续签到: 124 天

[LV.10]以坛为家III

已领礼包: 1334个

财富等级: 财源广进

发表于 2013-10-27 22:11:55 | 显示全部楼层
看看,学习学习!:lol
回复 支持 反对

使用道具 举报

签到天数: 1502 天

连续签到: 64 天

[LV.Master]伴坛终老I

已领礼包: 4110个

财富等级: 富可敌国

发表于 2013-10-28 07:48:32 | 显示全部楼层
怎么现在都喜欢讨回复了?

点评

长老,来了就打声招呼吗,其实更喜欢用 setpropertyvalue getpropertyvalue 了,这些偶尔用用  详情 回复 发表于 2013-10-28 08:03
回复 支持 反对

使用道具 举报

签到天数: 1538 天

连续签到: 567 天

[LV.Master]伴坛终老I

已领礼包: 4653个

财富等级: 富可敌国

发表于 2013-10-28 07:55:44 | 显示全部楼层
回复必须的。
回复 支持 反对

使用道具 举报

签到天数: 367 天

连续签到: 1 天

[LV.9]以坛为家II

 楼主| 发表于 2013-10-28 08:03:45 来自手机 | 显示全部楼层
ll_j 发表于 2013-10-28 07:48
怎么现在都喜欢讨回复了?


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

使用道具 举报

签到天数: 1502 天

连续签到: 64 天

[LV.Master]伴坛终老I

已领礼包: 4110个

财富等级: 富可敌国

发表于 2013-10-28 09:14:18 | 显示全部楼层
Free-Lancer 发表于 2013-10-28 08:03
长老,来了就打声招呼吗,其实更喜欢用 setpropertyvalue getpropertyvalue 了,这些偶尔用用

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

点评

我理解这样可以减少通讯时间,没用一次vla-get可能就有一次open,这个比喻不知是否恰当,COM就像去房间取东西,这样写不用每次推门,直接进去,通常写法要每次推门  详情 回复 发表于 2013-10-28 17:12
回复 支持 反对

使用道具 举报

签到天数: 986 天

连续签到: 13 天

[LV.10]以坛为家III

已领礼包: 604个

财富等级: 财运亨通

发表于 2013-10-28 09:38:39 | 显示全部楼层
感谢分享,回复学习大师的东西
回复 支持 反对

使用道具 举报

签到天数: 1509 天

连续签到: 48 天

[LV.Master]伴坛终老I

已领礼包: 4146个

财富等级: 富可敌国

发表于 2013-10-28 09:41:41 | 显示全部楼层
我也一直没明白他为什么这么写
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|小黑屋|Archiver|手机版|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )  

辽公网安备 21040202000005号

GMT+8, 2017-7-23 02:56 , Processed in 0.760094 second(s), 131 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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