有高手能回答我的问题吗?[求助]
我在用AUTOLISP编制程序扩充LINE功能,想法是:当从键盘输入距离时,能将这个距离乘一个比例后再画出直线,而用鼠标在屏幕上选取点时,则不乘比例直接画出直线,可问题是当选第二个点时,如果用getpoint函数,则不能判定该点是由鼠标点取的还是由键盘输入的,如果用grread函数则在选点时不能加上捕捉,亦不能使用正交,不知哪位高手能为我提供一点思路?看来明经社区无高手!!!!!!
不太明白你写这样一个功能的意图?贴出你的code大家帮你看看吧...
不太明白你写这样一个功能的意图?贴出你的code大家帮你看看吧...其实他的意思应该是当画图时使用非1:1比例时这个很好用。
lisp实现此功能却有难处。
1。既然用CAD设计,最好的办法还是图形对应实际尺寸。2。问题就是用getdist时,如何判断输入的距离是鼠标抓点来的,还是键盘输入的,画图时哪个方便用哪个。
lcad您来了不就有了吗?
lcad您来了不就有了吗?我的意图是这样的,还请各位高手指教![讨论]
由于于本人画图习惯于在一个文件放很多图(因为这样在设计时很方便,不知有没有同志和我有同感),同时保持图框的比例是1:1的,而用缩放图形来适应图框,这样就造成了一个问题当我要修改一个已放入图框的图形如果它的比例不是1:1的,那么在继续画图时例如画直线若从键盘输入距离就要输入实际距离乘以比例后的数值,有一些不方便,但我设想在画图时自动判别比例(此点我已做到),自动将所输入的数值乘这个比例,这样一来就不需要设计人员去操心比例的事,岂不是一件美事?这就是我的意图,如果有哪们高手能给我解决这个问题或能提供一些别的思路,本人将拜他为师!!!!改个方法吧,你在模型空间画图,在图纸空间安装图框,完全能达到你的意图
如果你画图不是在ModelSpace中按真实尺寸绘制的话...
如果你画图不是在ModelSpace中按真实尺寸绘制的话...我想你的这种习惯必须彻底放弃了,这样使用AutoCAD从根本上就大错特错了!关于比例,应该是在出图时设定或使用Layout(PaperSpace,如mccad所说).即使是仅使用ModelSpace,也可以实现不同比例在同一图框内,具体方法很多了,例如某一建筑图纸中有1:100和1:20,其实只要设定不同的Dimstyle即可(设D100的Scale factor =1, D20的为5,实际上是以D100为基准),在绘制1:20的图时把真实尺寸*5.
给e2002兄和mccad兄二位高手的答复
如e2002兄所言,我画图确实只在模型空间中进行,但如果每画一张图你都要去调整尺寸比例和其它相关比例的话,你累不累?那就不是我的目的了,我的要求是设计者无需去考虑比例设置,由系统自动去完成,这才是我们进行二次开发的目的,不然我们去开发个什么!!!你不如直接用裸体AUTOCAD直接画好了,你就什么都不用做了!!!!!对于MCCAD兄所言,我也不敢苟同,为什么要在MS和PS中反复折腾呢,能在一个空间里为什么不在一个空间里完成呢?我们开发的目的就是尽量简化操作者的操作,让他们的思想尽量去放在所设计的东西上,而不是老想着他的工具,这才是一个真正的开发者所要去开发的!!!