iCAx开思网

标题: 请教,关于CAD局部放大 [打印本页]

作者: 77678    时间: 2006-6-7 09:34
标题: 请教,关于CAD局部放大
请教一下,CAD我怎么找不到局部放大这个工具?
CAD只能在布局里面做到类似局部放大的吗?
在模型里面想画一个部件的放大图,部件放大以后尺寸标注就成问题了,单个改数值太麻烦了把?
有解决的办法吗?

谢谢
作者: szww    时间: 2006-6-8 21:16
你只要改一个就行了!其它用刷子就行了
作者: 77678    时间: 2006-6-9 10:21
改大小用毛笔,该的是数值啊,老大,毛笔没有用的
在模型里面1:1画的放大10倍后标注的尺寸能刷到1:1吗?
作者: Jerry hou    时间: 2006-6-11 15:50
做成块,再更改比例。
作者: 77678    时间: 2006-6-12 15:09
原帖由 Jerry hou 于 2006-6-11 15:50 发表
做成块,再更改比例。


试一下,谢谢
作者: 酸菜    时间: 2006-6-12 15:59
原帖由 77678 于 2006-6-7 01:34 发表
请教一下,CAD我怎么找不到局部放大这个工具?
CAD只能在布局里面做到类似局部放大的吗?
在模型里面想画一个部件的放大图,部件放大以后尺寸标注就成问题了,单个改数值太麻烦了把?
有解决的办法吗?

谢谢


局部放大的图标注之前把标注样式替代一个,重新设置一下,主单位比例改就好
作者: asker2002    时间: 2006-6-13 09:57
做啥塊啊,真夠受的,新建個視口不就得了?
作者: 77678    时间: 2006-6-13 13:37
原帖由 酸菜 于 2006-6-12 15:59 发表


局部放大的图标注之前把标注样式替代一个,重新设置一下,主单位比例改就好


我点心数值不对啊朋友,

原来是10放大10倍后,我再标注是100了,但我还想标注是10,问的是这个问题
作者: 77678    时间: 2006-6-13 13:37
原帖由 asker2002 于 2006-6-13 09:57 发表
做啥塊啊,真夠受的,新建個視口不就得了?


呵呵,问的是在模型里面朋友!
作者: 酸菜    时间: 2006-6-13 13:55
原帖由 77678 于 2006-6-13 05:37 发表


我点心数值不对啊朋友,

原来是10放大10倍后,我再标注是100了,但我还想标注是10,问的是这个问题


在原来的图标注好,做以下步骤先把要放大的图比例放大10倍,然后
标注_样式(或直接点样式图标)_选择<替代_主单位数值改为0.1再标注时就是10试试看
作者: mpi4    时间: 2006-6-14 08:42
这个很简单啊,先用复制,拷贝出来,然后再使用比例缩放就可以了
作者: 77678    时间: 2006-6-14 09:11
主单位数值改为0.1<----哪个主单位啊?我改的是比例因子,放大比例后再标注达到要求目的了,但是原来没有放大的图再标注的话,标注的比例也改了,这样是不是就要用两种标注样式了?晕麻烦的很那!
很多功能都不如CAXA好。
作者: 酸菜    时间: 2006-6-14 11:32
按10楼的步骤做吧,就是主单位的比例因子,原来的标好后,再用替代改比例因子就好了
作者: qomolangma    时间: 2006-6-14 17:10
这是我编得局部放大的代码,如下:
先画一个圆作为局部放大的边界,一步一步按着作,注意*curr-layer*和*curr-osmode*为全局变量,可以自行修改。
在边界圆环中最好不要设置有块和填充对象。

; local zoom
(defun c:loczoom()
        (command "_undo" "be")
        (setq circle-ent (car(entsel)))
        (setq circle-ent-list (entget circle-ent))
        (if (= (cdr (assoc 0 circle-ent-list)) "CIRCLE")
                (progn
                        (setq p0 (cdr(assoc 10 circle-ent-list)))
                        (setq circle-radius (cdr(assoc 40 circle-ent-list)))
                        (setq p1 (getpoint p0 "\nInput the position text of the local zoom : "))
                        (setq loc-zoom-text (getstring "\nInput the local zoom text , [ENTER] -> I (\u+2160) : "))
                        (if (= loc-zoom-text "")
                                (setq loc-zoom-text "\u+2160"))
                        (setq ang-p0-p1 (angle p0 p1))
                        (if (or (and (>= ang-p0-p1 0) (<= ang-p0-p1 (* 0.5 pi))) (and (>= ang-p0-p1 (* 1.5 pi)) (<= ang-p0-p1 (* 2.0 pi))))
                                (progn
                                        (setq p2 (polar p1 0 (* 8 (getvar "dimscale"))))
                                        (setq p3 (polar p1 (* 0.2 pi) (* 5 (getvar "dimscale"))))
                                        )
                                (progn
                                        (setq p2 (polar p1 pi (* 8 (getvar "dimscale"))))
                                        (setq p3 (polar p1 (* 0.8 pi) (* 5 (getvar "dimscale"))))
                                        )
                                )
                        (setvar "osmode" 0)
                        (command "_layer" "m" "THIN" "c" 50 "THIN" "l" "continuous" "THIN" "")
                        (setq circle-ent-list (subst (cons 8 "THIN") (assoc 8 circle-ent-list) circle-ent-list))
                        (entmod circle-ent-list)
                        (setq p4 (polar p0 ang-p0-p1 circle-radius))
                        (command "_pline" p4 "w" 0 0 p1 p2 "")
                        (command "_text" "j" "mc" p3 (* 3.5 (getvar "dimscale")) 0 loc-zoom-text "")
                        (setq p5 (polar p0 (* -0.25 pi) (* (sqrt 2.0) circle-radius)))
                        (setq p6 (polar p0 (* 0.75 pi) (* (sqrt 2.0) circle-radius)))
                        (setq p7 (getpoint p0 "\nInput the position of the local zoom : "))
                        (command "_copy" circle-ent "" p0 p7 "")
                        (setq trim-ent (entlast))
                        (setq p8 (polar p0 0 (* 0.999 circle-radius)))
                        (setq p9 (polar p0 (* 0.125 pi) (* 0.999 circle-radius)))
                        (setq p10 (polar p0 (* 0.25 pi) (* 0.999 circle-radius)))
                        (setq p11 (polar p0 (* 0.375 pi) (* 0.999 circle-radius)))
                        (setq p12 (polar p0 (* 0.5 pi) (* 0.999 circle-radius)))
                        (setq p13 (polar p0 (* 0.625 pi) (* 0.999 circle-radius)))
                        (setq p14 (polar p0 (* 0.75 pi) (* 0.999 circle-radius)))
                        (setq p15 (polar p0 (* 0.875 pi) (* 0.999 circle-radius)))
                        (setq p16 (polar p0 pi (* 0.999 circle-radius)))
                        (setq p17 (polar p0 (* 1.125 pi) (* 0.999 circle-radius)))
                        (setq p18 (polar p0 (* 1.25 pi) (* 0.999 circle-radius)))
                        (setq p19 (polar p0 (* 1.375 pi) (* 0.999 circle-radius)))
                        (setq p20 (polar p0 (* 1.5 pi) (* 0.999 circle-radius)))
                        (setq p21 (polar p0 (* 1.625 pi) (* 0.999 circle-radius)))
                        (setq p22 (polar p0 (* 1.75 pi) (* 0.999 circle-radius)))
                        (setq p23 (polar p0 (* 1.875 pi) (* 0.999 circle-radius)))
                        (command "_copy" "cp" p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 "" "" p0 p7 "")
                        (setq p24 (polar p7 0 (* 1.02 circle-radius)))
                        (setq p25 (polar p7 (* 0.125 pi) (* 1.02 circle-radius)))
                        (setq p26 (polar p7 (* 0.25 pi) (* 1.02 circle-radius)))
                        (setq p27 (polar p7 (* 0.375 pi) (* 1.02 circle-radius)))
                        (setq p28 (polar p7 (* 0.5 pi) (* 1.02 circle-radius)))
                        (setq p29 (polar p7 (* 0.625 pi) (* 1.02 circle-radius)))
                        (setq p30 (polar p7 (* 0.75 pi) (* 1.02 circle-radius)))
                        (setq p31 (polar p7 (* 0.875 pi) (* 1.02 circle-radius)))
                        (setq p32 (polar p7 pi (* 1.02 circle-radius)))
                        (setq p33 (polar p7 (* 1.125 pi) (* 1.02 circle-radius)))
                        (setq p34 (polar p7 (* 1.25 pi) (* 1.02 circle-radius)))
                        (setq p35 (polar p7 (* 1.375 pi) (* 1.02 circle-radius)))
                        (setq p36 (polar p7 (* 1.5 pi) (* 1.02 circle-radius)))
                        (setq p37 (polar p7 (* 1.625 pi) (* 1.02 circle-radius)))
                        (setq p38 (polar p7 (* 1.75 pi) (* 1.02 circle-radius)))
                        (setq p39 (polar p7 (* 1.875 pi) (* 1.02 circle-radius)))
                        (command "_trim" trim-ent "" "f" p24 p25 p26 p27 p28 p29 p30 p31 p32 p33 p34 p35 p36 p37 p38  p39 p24 "" "")
                        (command "_trim" trim-ent "" "f" p24 p25 p26 p27 p28 p29 p30 p31 p32 p33 p34 p35 p36 p37 p38  p39 p24 "" "")
                        (setq zoom-ratio (getreal "\nInput the zoom ratio , [ENTER] -> 2 : "))
                        (if (= zoom-ratio nil)
                                (setq zoom-ratio 2.0))
                        (setq p40 (polar p7 (* -0.25 pi) (* (sqrt 2.1) circle-radius)))
                        (setq p41 (polar p7 (* 0.75 pi) (* (sqrt 2.1) circle-radius)))
                        (command "_scale" "c" p40 p41 "" p7 zoom-ratio)
                        (setq p42 (polar p7 (* 0.5 pi) (* 1.2 circle-radius zoom-ratio)))
                        (setq p43 (polar p42 (* 0.5 pi) (* 3.5 (getvar "dimscale"))))
                        (setq p44 (polar p42 pi (* 5 (getvar "dimscale"))))
                        (setq p45 (polar p42 0 (* 5 (getvar "dimscale"))))
                        (setq p46 (polar p42 (* 1.5 pi) (* 3.5 (getvar "dimscale"))))
                        (command "_text" "j" "mc" p43 (* 3.5 (getvar "dimscale")) 0 loc-zoom-text "")
                        (command "_text" "j" "mc" p46 (* 3.5 (getvar "dimscale")) 0 (strcat "1:" (rtos (/ (getvar "dimscale") zoom-ratio) 2)) "")
                        (command "_line" p44 p45 "")
                        (setq zoom-dimlfac (getstring "\nZoom system variant : dimlfac (Yes/No) , [ENTER] -> Yes : "))
                        (if (= zoom-dimlfac "")
                                (setq zoom-dimlfac "y"))
                        (if (or (= zoom-dimlfac "y") (= zoom-dimlfac "Y"))
                                (progn
                                        (setvar "dimlfac" (/ 1.0 zoom-ratio))
                                        (alert (strcat "System variant ( dimlfac ) is setted to : " (rtos (getvar "dimlfac") 2) " !"))
                                        )
                                )
                        )
                (alert "You should select a circle object as trim edge .")
                )

        (setvar "osmode" *curr-osmode*)
        (setvar "clayer" *curr-layer*)
        (command "_undo" "e")
        (princ)
        )
作者: szww    时间: 2006-6-14 18:41
”"你只要改一个就行了!其它用刷子就行了 "“
我说的意思是在属性对话框里线性比例改一下就好了(放大多少倍就缩多少),之后用刷子就行了
作者: 77678    时间: 2006-6-15 13:27
原帖由 qomolangma 于 2006-6-14 17:10 发表
这是我编得局部放大的代码,如下:
先画一个圆作为局部放大的边界,一步一步按着作,注意*curr-layer*和*curr-osmode*为全局变量,可以自行修改。
在边界圆环中最好不要设置有块和填充对象。

; local zoom
...

别的朋友说的都比较复杂,感觉这个朋友有点象是CAXA的局部放大差不多了,CAXA的局部放大很好用的,可是这位朋友的招数书在深奥,

一步一步按着做是按照什么做?

还有那一堆代码是输入到那个里面,是命令还是什么文本文件?

不知道这位高手有没有时间指教的详细点,谢谢
作者: jopin    时间: 2006-6-15 14:28
标注做一下比例就可以了
作者: chaoren8250    时间: 2006-6-15 23:17
狂晕,很简单啊标尺寸时输入M改过来啊!
作者: 77678    时间: 2006-6-16 07:40
原帖由 chaoren8250 于 2006-6-15 23:17 发表
狂晕,很简单啊标尺寸时输入M改过来啊!


狂狂晕,你看明白我问的问题的时候你就知道什么叫简单了。

很多朋友回答的都是单个改尺寸,(用刷子刷是单个改,输入M更是)

我想知道的简单点说是一个模型里面出现两种比例《--------看仔细这个

似乎惟有编程序的朋友,有点入正题,但是太深奥,看不懂。

期待中
作者: vk471983    时间: 2007-6-27 09:05
原帖由 77678 于 2006-6-16 07:40 发表


狂狂晕,你看明白我问的问题的时候你就知道什么叫简单了。

很多朋友回答的都是单个改尺寸,(用刷子刷是单个改,输入M更是)

我想知道的简单点说是一个模型里面出现两种比例《--------看仔细这个

似 ...


他们说的是尺寸样式啊。。。。新建尺寸样式就好了
作者: bytanjian    时间: 2007-6-27 23:52
你先把要放大的图先按比例放大,比如说10倍吧.然后,修改尺寸标注属性中的主单位里的比例因子,将他改为0.1.当然,这要自己根据已经放大 的倍数计算好.然后再标注已经放大 的图,尺寸就是你想要的大小了.也就是1:1的.




欢迎光临 iCAx开思网 (https://www.icax.org/) Powered by Discuz! X3.3