明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: 龙龙仔

自动切换图层 VLISP测试版(Autolayer.vlx)

  [复制链接]
发表于 2004-4-11 20:49:00 | 显示全部楼层
ljcgq:(7 楼) “我只是觉得把系统命令和层联系在一起到底有多大的实用性。。。” _________ 顶! 从纯技术、理论角度看,"把系统命令和层联系在一起",确实有创意,但是没有多大实用价值、或者说使用价值很小。不管你对ACAD做了多少二次、甚至多次开发,在ACAD里追加多少功能,但是,不要去改变ACAD原有的系统命令!这是ACAD二次开发者们应该注意的一个开发原则:“追加”而不是“改变”。也许不少人不能理解、甚至反对该原则。如果开发的软件仅仅是自己在使用、而且所用的ACAD也是仅仅自己在使用,你可以“为所欲为”,但是,我还是希望你能遵循上述原则。 提高ACAD操作效率的方法很多,合理的键盘输入设置,可以数倍提高ACAD的操作速度,而操作者却颇为轻松。现在的Windows软件,太注重Mouse,菜单和图标的使用,虽然直观易用,但是都不是最快的,而且需要借助眼力,费神,长此以往,人们的左手也快退化了。。。呵呵
发表于 2004-4-11 21:19:00 | 显示全部楼层
“把系统命令和层联系在一起”对于不同的行业,可能意义的大小有所不同吧。但对于一些命令所产生的对象进行分层处理,其实是很有意义的。
我见过很多的ACAD初学者画图时不对对象进行分层,而是生成对象后更改对象的颜色及线型,这是初学者容易出现的问题,这样对图形的组织很不利。
标注对象放到标注层,填充对象放到填充层,而且不同的图层设置不同的显示特性,如不同的颜色,不同的线型。这有利于图形的组织。
发表于 2004-4-11 22:30:00 | 显示全部楼层
支持特定命令与特定层联系的思路


但不支持“系统命令”自动切换层


这种做法完全没有意义


假设你要画一道直线


每次自动切换到“line"层


真要这样你会发现花在再修改的时间会更多


对于自编命令需要执行在特定层的


在程序中切换就好了


最多添加几个公共函数


用来检测、建立和切换图层颜色线型什么


其实一个程序除了考虑适用和实用外


还要考虑执行效率


象前面的程序段上百行代码


除了可以证明编程者的编程功力外


看不到实际的使用价值
发表于 2004-4-11 23:26:00 | 显示全部楼层
完全赞同楼上(13楼) 所言。顶!!!
发表于 2004-4-12 07:55:00 | 显示全部楼层
to masterlong,是有些命令可能会在不同层使用,可你在制作autolayer.ini的时候不加入这些命令不就可以了吗?有些命令如:填充,标注等一般完全都使用相同的层,在你批评它以前,我想你应该能熟练使用它才行吧...龙版主从事的就是这样的工作,我想这是实践的总结,是最有发言权的... TO ishou,下面是我昨天就要跟你说的话,昨天网络问题,老是发不上来,今天再发吧... 希望楼上清楚我们在讨论什么再发言好不好,,,这个程序并没有改变任何系统的东西,而是追加,,,就是在 输入命令后,追加了一个反应器(希望你知道是什么东西)来做一些平常你平常需要手动操作的东西...当然 ,你也可以选择什么都不做,这样即可以为需要的人自动做一些事情,又可以让那些不需要的人同平常一样 工作有什么不好? 而且楼上说了这么大篇幅,并没有针对这个程序说说它到底怎么不实用了?好象说的全的是
 楼主| 发表于 2004-4-12 09:50:00 | 显示全部楼层
明總為甚麼不是很長也貼不上,只好用檔案方式

本帖子中包含更多资源

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

x
发表于 2004-4-12 12:31:00 | 显示全部楼层
龙龙仔发表于2004-4-12 9:50:00明總為甚麼不是很長也貼不上,只好用檔案方式

幻灯管理的确有BUG。把发现的BUG整理下,给XD让他尽快修改。
 楼主| 发表于 2004-4-12 12:38:00 | 显示全部楼层
本帖最后由 作者 于 2004-4-12 14:24:30 编辑

;;Autolayer_V0.1 2004412

;;Meflying[建议]是否可以存一组数据到图形中,这样,如果单个文档有特殊;

;;需求,每次打开它,不需要新建一个组或进行切换,而是直接读取图形中的;

;;数据,如果读取失败,再读取Autolayer.ini文件中的资料

;;改变下列设定方式(不能设为NIL)

为了使用方便,您可以在ACAD里加上一些按钮,按钮执行一个命令,

(LAYER_GROUP "GROUP1")(LAYER_GROUP "GROUP2")………与配置文件对应。

具体方法请参考有关书籍。

;;Autolayer.ini

必需为

[LAYER_GROUP1] ;;第一组名称不能改,其余随便但格式为 [LAYER_组名]

...

...

;;两组间为空行

[LAYER_龙龙仔]

...

...

|;

找到了AutoLay[3.0].zip

本帖子中包含更多资源

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

x
发表于 2004-4-12 22:31:00 | 显示全部楼层
老实说,上面实现对ACAD系统命令的所谓的"追加"功能,决非是我在上面中建议的那个"追加",而是不折不扣的"改变"! "追加"是以不改变现有完整基本功能为宗旨。 系统命令是ACAD进行二次开发的基础之一,也是“协议”之一,就象AutoLISP中的内建函数(if, while, ...)一样,不容改变,即使版本升级时,也必须要兼容低版本,否则,ACAD系统势必大乱,尤其容不下第三方的二次开发软件。 大家都很有本事,甚至可以造出"原子弹",但是不要乱乱扔哦。。。 使用二次开发软件的人中,有相当一部分人是不懂得修改软件,哪怕是很简单的一点点。 把ACAD中的系统命令LINE的执行与LAYER改变联系在一起,一气哼成,是很美的一件事,用非系统命令的命令启动,丝毫不损其美感,何乐不为? 在我的ACAD系统中,OFFSET 功能的调用,融入很多功能:半值、英寸、英寸半值输入:
Offset distance or through <2.0 /D4.0 /I0.0787402 /S0.15748> = 并把OFFSET得到的实体改到当前层,当前颜色,当前线型,命令启动方式 Alt - Z (不需要按下 Enter / Space Bar)
发表于 2004-4-13 02:37:00 | 显示全部楼层
to meflying 首先我想请你回答一个问题 AUTOCAD提供的系统命令中 有多少你认为是值得“附加”这个功能的 在你回答之前 我可以告诉你至少我本人 没有任何系统命令需要在特定层上执行 CAD的二次开发 目的是用简单的办法完成复杂的操作 而不是把简单的事情复杂化 看看18楼里你的建议 为了适应系统命令自动切换 你必须再另做一个程序或功能 以便对操作目标进行数据附加 而数据附加的目的 仅仅是为了满足对系统命令进行附加操作这个要求 当然你可以说 这个附加数据可以让其它自编命令共享 如果是这样 既然准备用到自编命令了 在自编命令中加一个环境设置的功能很简单 又有什么必要对系统命令进行这种“优化” 再来谈谈Autolayer.ini 正如楼上ishou所言 绝大多数用户对CAD本身的功能尚一知半解 这样的情况下 要普通用户去手动设置这个文件就叫强人所难 再编一个设置程序去方便用户设置? 看,又额外多了一个程序 这还得用户了解才能发挥作用 接下来再来讨论另一个问题 假设我已经设置了某个命令自动套用某些设置 现在因为某种需要必须使用另一些设置 ----不要跟我说没有这种可能性 可是现在麻烦来了 这个系统命令已经被“强行限制” 只能在使用后再进行修改了 要解决这个问题 恕我愚钝 只能想到设置外部开关参数这个方法 根据需要去关闭或打开这个功能 于是麻烦又来了 是直接附加在这个功能中呢还是单独设置 直接附加? 意味着执行了一个系统命令后 会出现与平常使用不一样的提示或说明 不知道有多少人可以接受这样的变化 单独设置? 首先增加一个程序是必然的 另外用户还要熟练掌握什么时候开什么关 否则操作之后发现不对又得U回去重新来过 前面说了这么多 归根结底其实就是一个大众化的问题 这个功能对大众来说毫无意义 当然对于个人来说 我就是喜欢加上这样的功能管你什么事 这当然没有问题 只是 如果你是一个CAD用户 注意,是用户 你在工作时遇到的情况千变万化 不可能有某个系统命令只会在特定环境下执行 为了少数的非常规情况 你那么忍受事后修改的麻烦 要么再加上相应的解决方案 而一旦这样做了 请不要忘记开发这个功能的原始目的---简便 如果你是一个CAD的二次开发者 那你必须要考虑大众的需求 开发一个没有需求或需求极小的功能 本身就是一个失败 你的水平无庸质疑 只是不知道你是否真正了解什么是意义之所在 我认为与其花心思在这方面的研究 不如多考虑一下如何使“变换设置”变得更简单 比如前面几页有个移动鼠标自动显示对象信息的帖子 这才是一个漂亮的程序 对它稍做改动做成一个命令或公共函数 以最后碰到的对象改变相应设置再执行其他命令 岂不比这种“优化”系统命令实在?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-9-28 23:30 , Processed in 0.175867 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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