找回密码
 注册会员
查看: 5619|回复: 9

[文章] 搞机械工业设计不得不说的,关于AutoCAD

  [复制链接]
发表于 2007-6-12 18:41:57 |Error| 显示全部楼层 |阅读模式

我们不再是孤独的探索者;让我们的手紧紧相连,一起成长。

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

×
    前段时间,我把以前所做的东西全部丢弃了,整个系统又重新设计了一遍。这一次,我是严格遵循软件工程方法来搞的。这几天,一直在办公室里和一帮新来的年轻人一起耗着,他们进进出出,假装着上厕所,其实还是为了偷偷懒,他们走过我身边时,都很好奇地看着我桌子上一大堆的图纸。我大学读的是机械设计,包括我现在的工作也是搞机械设计,但现在干的活儿却是软件设计,在一个洋人的大型的CAD软件平台上,开发一个反求工程模块,也就是传说中的二次开发!我好象有点罗嗦,应该讲的是今天的事。但是我们任何一个人绝不能抛掉昨天来谈今天,也不能谈到今天而不去想明天。我是从一个学机械设计的学生,被课题,被命运,活活逼成了一个“程序员”!而且这程序员也不是长久得,保不齐3年后,我再也不是你们中的一员了。我在将来,会珍惜现在,会珍惜我抓耳挠腮,大半年经常不吃早饭的日子。
    今天,我在办公室里画着模块图,按照自顶向下,逐层分解的经典原则来设计我的系统中的一些局部模块,什么面向对象,什么组件技术,我觉得只有不懂的人才瞎嚷嚷结构化程序设计过时了。我用我们机械行业中的一个角色来说一下到底我们生活到现在有什么东西是真正过时了的!机械工种中有一个行当叫钳工,说白了,就是手工业者,看过宝马,凯迪拉克那些让人眼红的小汽车了么?一流的汽车许多重要的部件是钳工搞出来的,就是用手,凭借个人精湛的技术和经验打造出来的。古代之名器----干将,莫邪,也是手工制品。我今天想的第一个大问题就是:永远不会有过时的技术,因为我们每个人不能抛掉昨天而活着!

不能抛弃昨天,就得抓住眼前。眼看着各种各样五花八门的软件、平台、插件、语言铺天盖地被开发出来。到底该抓住哪个呢?本来时间和精力就不多,我们做程序的课没时间在昙花一现的垃圾平台上浪费自己的青春。
反过来看AutoCAD,这么多年一直是主流,欧特克(Autodesk)的实力不可小觑啊。不断在原有的产品基础上更新换代,但总感觉没有一个整体的、系统化流程。(就好像一个补丁接一个补丁的Windows一样),直到前几天我收到了ATC发来的免费教学观摩培训通知。最近这段时间,Autodesk在全国各地连续举办新产品功能免费大体验活动,主要面向Autodesk的新旧用户、Autodesk设计软件兴趣爱好者、学生、各行业设计工作者。
多看看多学学吧,时间就是金钱。
发表于 2007-6-14 15:02:11 |Error| 显示全部楼层
说的对啊`   我现在就是有的是时间啊
回复 顶 踩

使用道具 举报

发表于 2007-6-14 15:03:42 |Error| 显示全部楼层
哎呀``还说呢   我现在也想学啊
回复 顶 踩

使用道具 举报

发表于 2007-6-16 09:58:32 |Error| 显示全部楼层
做广告啊
回复 顶 踩

使用道具 举报

发表于 2007-6-19 17:03:49 |Error| 显示全部楼层
?????????????????????
回复 顶 踩

使用道具 举报

发表于 2007-6-19 19:33:12 |Error| 显示全部楼层
我用lsp自己编的cad自动标注,你参考一下吧。
(defun c:adim( / dsc osn ss ss1 ss2 b_px b_py)
  (command "undo" "group")
  (command "ucs" "")
  (setq dsc (getvar "dimscale"))
  (setq osn (getvar "osmode"))
  (setq sucsf (getvar "UCSFOLLOW"))
  (setvar "osmode" 0)
  (setq b_px 0)
  (setq b_py 0)
  (setq ss (ssget))
  (command "view" "s" "xx1")
  (setq ss1 (ssget "p" (list (cons 62 2) (cons 0 "LINE"))))
  (if ss1
    (adim_xy ss1)
  )
  (command "erase" ss "" "oops")
  (setq ss2 (ssget "p" (list (cons 62 3) (cons 0 "LINE"))))
  (if ss2
    (adim_xy ss2)
  )
  (setvar "osmode" osn)
  (setq cen (getpoint "请选择原点"))
  (setvar "osmode" 0)
  (command "ucs" "o" cen "")
  (command "view" "r" "xx1")
  (command "view" "d" "xx1")
  (if (/= b_px 0)
     (progn
        (setq i (length b_px))
        (while (> i 0)
           (setq i (- i 1))
           (setq p0 (nth i b_px))
           (setq p0 (list (- (nth 0 p0) (nth 0 cen)) (- (nth 1 p0) (nth 1 cen))))
           (setq pp (list (+ (nth 0 p0) (* dsc 3)) (nth 1 p0)))
           (pd_jdx)
           (command "dim1" "or" p0 pp "")
        )
     )
  )         
  (if (/= b_py 0)
     (progn
        (setq i (length b_py))
        (while (> i 0)
           (setq i (- i 1))
           (setq p0 (nth i b_py))
           (setq p0 (list (- (nth 0 p0) (nth 0 cen)) (- (nth 1 p0) (nth 1 cen))))
           (setq pp (list (nth 0 p0) (+ (nth 1 p0) (* dsc 3))))
           (pd_jdy)
           (command "dim1" "or" p0 pp "")
        )
     )
  )
  (command "ucs" "w")         
  (setvar "osmode" osn)
  (command "undo" "e")
  (princ)
)


(defun adim_xy(s / i e p1 p2 pp)
  (setq i (sslength s))
  (while (> i 0)
      (setq i (- i 1))
      (setq e (entget (ssname s i)))
      (setq p1 (cdr (assoc 10 e)))
      (setq p2 (cdr (assoc 11 e)))
      (if (< (abs (- (nth 1 p1) (nth 1 p2))) 0.001)
         (progn
             (if (> (nth 0 p1) (nth 0 p2))
                 (setq pp p1)
                 (setq pp p2)
             )
             (if (= b_px 0)
                 (setq b_px (cons pp nil))
                 (setq b_px (cons pp b_px))
             )
         )
      )
      (if (< (abs (- (nth 0 p1) (nth 0 p2))) 0.001)
         (progn
             (if (> (nth 1 p1) (nth 1 p2))
                 (setq pp p1)
                 (setq pp p2)
             )
             (if (= b_py 0)
                 (setq b_py (cons pp nil))
                 (setq b_py (cons pp b_py))
             )
         )
      )
   )
)

(defun pd_jdx(/ pp1 ss i)
  (setq ss 1)
  (setq i 0)
  (while (and ss (< i 5))
    (setq i (+ i 1))
    (setq pp1 (list (+ (nth 0 pp) (* 5 dsc)) (+ (nth 1 pp) (* 3 dsc))))
    (setq ss (ssget "c" pp1 pp))
    (princ ss)
    (if ss
       (setq pp (list (+ (nth 0 pp) (* 5 dsc)) (nth 1 pp)))
    )
  )
)
  

(defun pd_jdy(/ pp1 ss i)
  (setq ss 1)
  (setq i 0)
  (while (and ss (< i 5))
    (setq i (+ i 1))
    (setq pp1 (list (- (nth 0 pp) (* 3 dsc)) (+ (nth 1 pp) (* 5 dsc))))
    (setq ss (ssget "c" pp1 pp))
    (princ ss)
    (if ss
       (setq pp (list (nth 0 pp) (+ (nth 1 pp) (* 5 dsc))))
    )
  )
)
回复 顶 踩

使用道具 举报

发表于 2007-6-19 19:33:38 |Error| 显示全部楼层
我回复了你的cad自动标注的问题,但是看不见我的帖子,不知道啥原因。
回复 顶 踩

使用道具 举报

发表于 2007-6-27 11:06:29 |Error| 显示全部楼层
广 告  呀
回复 顶 踩

使用道具 举报

发表于 2007-6-27 11:13:45 |Error| 显示全部楼层
好消息!!!都成,今年这次免费培训活动听说是全国范围内的,反正也不要钱,去了还抽奖呢,你信不信哈。
回复 顶 踩

使用道具 举报

发表于 2007-6-27 11:14:20 |Error| 显示全部楼层
补一个Autodesk官方网站自助注册的链接http://www.autodesk.com.cn/adsk/ ... &siteID=1170359
回复 顶 踩

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

闭关者|手机版|© 2005-2026|Cncad.Net ( 苏ICP备2026083443号 )|网站地图

GMT+8, 2026-11-4 03:25 , Processed in 0.228836 second(s), 23 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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