如何快速按比例作图
本帖最后由 gcho 于 2011-3-2 20:37 编辑LISP在理论上能不能做到调试CAD系统参数啊,我的想法:
作图步骤:
①当前作图比例1:?(给定具体值)
②画直线(或其它命令),鼠标点击起点,指定下一点时键盘输入数值a
③图上的直线长度自动变为了1000/?*a
已经上传了传附件。 其实有一个非常头疼的问题,当你到一个单位。
此单位已经有几千张可以用来借鉴和修改的图纸都是按照1:N来绘制的时候,
恐怕只能改变自己绘制的习惯了。 zag0666 发表于 2012-8-17 12:36
楼上这世界本来就没有什么是“正确”。下面我只讲好处了:
1. 编辑一个图纸始终要比,重新绘制要快。把老 ...
这些都不是事,最大的好处就是:
线型是不受缩放影响的(除非线型放在块内)不同比例放在同一张图内,打印出来的虚线都保持一致
在模型空间画不同比例是可以的
先把你“参考内容”,根据提示的尺寸缩放到1:1
然后在1:1上画
标完尺寸,文字,画完后,组成块后,保留该块,日后编辑时用块编辑来修改
然后copy这个块,你想放的"比例 / 该打印图纸比例" 放置到打印框上
15年前就是这样画图的,现在见到深有体会 本帖最后由 tjc5471 于 2022-5-10 23:37 编辑
其实对于修改图纸来说楼主的需要还是有市场的,又回来看看了。ZZXXQQ兄的代码很实用的,不过绘制前设定比例比选择标注更切合实际?能否改写一下代码让我等小白拿来用呢? 怎么不能传附件啊?
使用高级模式
刚上传了附件,请帮忙看看! 按1:1作图,最后缩放一下不就可以了? 手工做图时要进行比例换算。计算机绘图最好是1:1的绘图。要改掉比例换算这个习惯。 本帖最后由 gcho 于 2011-3-2 20:15 编辑
大家说的方法我知道,我只是想寻找一种新的作图方法,因为1:1作图时是方便,最后画完了要缩放,再用相应的比例去标注图形尺寸,这个过程不是很麻烦,麻烦就是下次修改这个图时就要进行换算了(这时你不可能再缩放到1:1去修改吧),这个换算过程是很费时的,如果自己编一个命令(比方说PLSC),回到我帖子的顶端要求,那么就省很多时了,唉,只是苦于我对LISP一窍不通,不能自己完成这个小小的程序,还望高手们相助,先拜谢了! 为什么要缩放?出图时给比例不行吗? 我是搞水工的,出图没有建筑方面要求规范,一般都是出A3的小图,可想而知,有时一张图纸上可能有多个断面图,且每个断面图可能比例不一样,所以画图时是要缩放的!
(defun c:plcs()
(if (= (setq blc (getreal "\n1:?<1>")) nil)
(setq blc 1)
)
(setq bl (/ blc 1000.0))
(initget "L C")
(if (= (setq bz (getkword "\n画直线-L/画圆-C <L>:")) nil)
(setq bz "L")
)
(cond ((= bz "L")
(while (setq p1 (getpoint "\n起点<回车结束>:"))
(if (and (setq p2 (getpoint p1 "\n止点所在方向:"))
(setq ll (getreal (strcat "\n直线长度<" (rtos (getvar "userr5")) ">:")))
)
(progn
(setvar "userr5" ll)
(setq ang (angle p1 p2)
pt(polar p1 ang (/ ll bl))
)
(command "_line" p1 pt "")
)
)
)
)
((= bz "C")
(while (setq p1 (getpoint "\n圆心<回车结束>:"))
(if (setq rr (getreal (strcat "\n半径<" (rtos (getvar "userr4")) ">:")))
(progn
(setvar "userr4" ll)
(command "_circle" p1 (/ rr bl))
)
)
)
)
)
(princ)
)
本帖最后由 gcho 于 2011-3-2 22:11 编辑
回复 yshf 的帖子
你的代码很好,希望再优化一下:
1、能自动记忆上次的操作,比如上次是1:100,这次默认就是1:100,询问是否更改,不更改就直接回车画线或者画圆;
2、能否将<复制>,<偏移>命令追加到<回车结束>后面,因为画图的时候肯定要用到复制或者偏移等命令,复制或偏移的时候要输入距离,这个距离也只用输实际距离最方便。