lcad 发表于 2002-4-1 16:21:00

何为组合图?

e2002 发表于 2002-4-1 16:24:00

你这种不是正确的AutoCAD使用方法...

你这种不是正确的AutoCAD使用方法.你完全是按照以前手工绘图的习惯来使用AutoCAD的,就像陈老师说的:"把AutoCAD用死了".AutoCAD不是那种2D"电子图板",而是一个"设计平台"啊...

绘图的关键是要表达工程对象的各种数据,而不是要去适应图框,出图比例或者别的什么东东...
可能你一时间不能理解这一点,不过我相信你以后会慢慢体会到...

lcad 发表于 2002-4-1 16:28:00

ok,下列即为画直线的程式

(defun c:l ()
(defun *error* (msg)
    (command "undo" "E")
    (setvar "cmdecho" oe)
    (setq p0   nil
          i    nil
          pb   nil
          pc   nil
          bl   nil
          scanil
          p2   nil
          strnil
          test nil
          disnil
          angnil
    )
    (princ)
)
(setq oe (getvar "cmdecho"))
(setq os (getvar "OSMODE"))
(setvar "CMDECHO" 0)
(command "undo" "BE")
(setvar "angdir" 0)
(setvar "angbase" 0)
(setq p0 (getpoint "\n起始点:"))
;以下为判别输入点所在图框的比例,"TXDATA"是一存贮图面上所有图框的范围和比例的表.
(if (/= p0 nil)
    (progn
      (setq i 0)
      (while (< i (length txdata))
        (setq pb (nth 0 (nth i txdata)))
        (setq pc (nth 1 (nth i txdata)))
        (if (and (< (nth 0 p0) (nth 0 pb))
               (> (nth 0 p0) (nth 0 pc))
               (> (nth 1 p0) (nth 1 pb))
               (< (nth 1 p0) (nth 1 pc))
          )
          (progn
          (setq bl (nth 2 (nth i txdata)))
          (if        (= (substr bl 1 2) "1:")
              (setq sca (atof (substr bl 3 (- (strlen bl) 2))))
              (setq sca (/ 1 (atof (substr bl 1 (- (strlen bl) 2)))))
          )
          (setq i (length txdata))
          )
          (progn
          (setq sca 1)
          (setq bl "1:1")
          )
        )
        (setq i (+ i 1))
      )
;判别比例结束.
      (setq p2 (getpoint p0 "\n1下一点:"))
      (if (/= p2 nil)
        (progn
          (setq str (getvar "lastprompt"))
          (if (or (wcmatch str "起始点:*")
                  (and (not (wcmatch str "下一点:*"))
                     (not (wcmatch str "*"))
                     (not (wcmatch str "-*"))
                     (not (wcmatch str " <*> *"))
                     (not (wcmatch str " <*> -*"))
                  )
              )
          (progn
              (setvar "OSMODE" 0)
              (command "line" p0 p2 "")
              (setvar "OSMODE" os)
          )
          (progn
              (setvar "OSMODE" 0)
              (setq dis        (distance p0 p2)
                  ang        (angle p0 p2)
              )
              (setq p2 (polar p0 ang (/ dis sca)))
              (command "line" p0 p2 "")
              (setvar "OSMODE" os)
          )
          )
          (setq test 1)
          (setq i 2)
          (while test
          (setq p0 p2)
          (princ "\n")
          (princ (strcat (itoa i) "下一点:"))
          (setq p2 (getpoint p0))
          (if        (/= p2 nil)
              (progn
                (setq str (getvar "lastprompt"))
                (if
                  (or (wcmatch str (strcat (itoa (- i 1)) "下一点:"))
                      (not (wcmatch str (strcat (itoa i) "下一点:*")))
                  )
                   (progn
                     (setvar "OSMODE" 0)
                     (command "line" p0 p2 "")
                     (setvar "OSMODE" os)
                   )
                   (progn
                     (setvar "OSMODE" 0)
                     (setq dis (distance p0 p2)
                           ang (angle p0 p2)
                     )
                     (setq p2 (polar p0 ang (/ dis sca)))
                     (command "line" p0 p2 "")
                     (setvar "OSMODE" os)
                   )
                )
                (setq i (+ i 1))
              )
              (setq test nil)
          )
          )
          (princ "\n比例=")
          (princ bl)
        )
      )
    )
)
(command "undo" "E")
(setvar "cmdecho" oe)
(setq        p0   nil
        i    nil
        pb   nil
        pc   nil
        bl   nil
        scanil
        p2   nil
        strnil
        test nil
        disnil
        angnil
)
(princ)
)

lcad 发表于 2002-4-1 16:30:00

你懂制图吗?e2002?

前生 发表于 2002-4-2 10:06:00

同意E2002的观点

同意E2002的观点,实际上一些程序的目的是简化绘图及设计工作,如果说,因此而麻烦的话,不如用赤裸裸的AutoCAD!
    何况AutoCAD的绘图,一般而言,都是1:1绘图的,尤其是机械方面的工作,因为后续还需要,转换到其他的编程加工系统,比如是线切割,加工中心什么的,如果图纸不是1;1的话,我不知道,这一些如何进行!

龙龙仔 发表于 2002-4-2 13:14:00

组合图你也不清楚,那组装图(爆炸图)你一定也没有画过吧!!

组合图是把所有零件组合在一起的图,看看零件间是否相互配合,当然要在一个相同比例下组合,像你每个零件都不同比例,那要如何组合。组合图你也不清楚,那组装图(爆炸图)你一定也没有画过吧!!附一张组装图让你参考!!!

lcad 发表于 2002-4-3 10:24:00

我明白了,你不是搞机械的

机械上并无"组合图"这个概念,也许你说的是三维,但我所有的贴子都是说的二维机械工程图,再者说,如果你用autocad来画三维图,那你就太sb了,sb才用autocad、MDT画三维图呢!

lcad 发表于 2002-4-3 11:02:00

autocad是个所谓的设计平台吗?不,它只是一个电子图板!

对于一个设计平台来说,最起码它要有以下的几个特点:
1、最简便的绘图操作,由于绘图只是设计工作中最不重要最基本的过程,如果绘图的操作烦琐而且又不容易掌握的话,一个设计人员将要花大量的时间去进行绘图的工作,这是不值得的,如果autocad没有二次开发的功能的话,它甚至还不如CAXA来的方便。
2、强大的计算功能,对于机械设计来说,其中涉及到很多强度校核计算,如果一个在某些人眼中所谓的“设计平台”连这样的功能都不具备的话,请问,它能算是设计平台吗?
3、基于2下的优化设计功能,比如说我们设计一根轴,给出它的功率、工作状况等一系列初始条件,一个设计平台应该有它的优化设计功能再辅以设计人员的思想帮我们做出一个最优化的方案来,如果不进行二次开发的话,autocad可以吗?
基于以上这几点,autocad中的“d”是“draw”而不是“design”,autocad充其量只不过是一个通用的绘图工具而已,如果你把它当做一个设计平台的话,那你就大错特错了,其实用autocad绘图的方法有很多种,如果你习惯了一种方法,那就是一个好的方法,而拘泥于一种所谓的正确方法,那才是把autocad用死了,我不知道你所说的陈老师是何许人也,但就看你把你捧若神明的态度,也知道你其实不真正懂得什么是autocad,我相信你对autocad所知的一切不过是从他那儿道听途说来的吧?那我们的陈老师可是误人子弟了。
为了改变你对autocad的错误认识,我会继续发贴,今天就到这吧,我要去吃饭了,下次再谈,再见。

南子 发表于 2002-4-3 11:35:00

lcad,请您就事论事,客气一点。谢谢!

lcad 发表于 2002-4-3 12:03:00

sorry,我说的有点过火,可我说是实话啊,autocad的三维是很差啊!

页: 1 2 3 [4] 5 6 7 8 9
查看完整版本: 有高手能回答我的问题吗?[求助]