明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
12
返回列表 发新帖
楼主: 小菜鸟

高手请进!!!

  [复制链接]
发表于 2002-5-31 14:42 | 显示全部楼层

哈,现在是搞毕业设计的高峰期,学校里还有什么好的题目呢

发表于 2002-6-3 12:51 | 显示全部楼层

毕业作业总要留点给你(欠消除重复线)OK了9成!!

(defun CRBT (/ PT PT1        PT2 HOLDECHO HOLDBLIP HOLDOSMODE ANG DIST H W
               CTR RT LB RB LT LINE3 LINE4 DIST
              )
  (defun DO_IT ()
    (setq DIST (- (car PT) (car LB)))
    (setvar "offsetdist" DIST)
    (command "_.offset" "" LINE4 PT "")
    (setq DIST (- (cadr PT) (cadr LT)))
    (setvar "offsetdist" DIST)
    (command "_.offset" "" LINE3 PT "")
  )
  (setq HOLDECHO (getvar "cmdecho"))
  (setq HOLDBLIP (getvar "blipmode"))
  (setq HOLDOSMODE (getvar "osmode"))
  (setvar "cmdecho" 0)
  (setvar "blipmode" 0)
  (setvar "osmode" 0)
  (setq PT1 (getpoint "\n第一点: "))
  (setq PT2 (getpoint PT1 "\n对角点: "))
  (setq ANG (angle PT1 PT2))
  (setq DIST (distance PT1 PT2))
  (setq H (abs (- (cadr PT1) (cadr PT2))))
  (setq W (abs (- (car PT1) (car PT2))))
  (setq CTR (polar PT1 ANG (/ DIST 2.0)))
  (setq        RT (list (+ (car CTR) (/ W 2))
                 (+ (cadr CTR) (/ H 2))
           )
  )
  (setq        LB (list (- (car CTR) (/ W 2))
                 (- (cadr CTR) (/ H 2))
           )
  )
  (setq        RB (list (+ (car CTR) (/ W 2))
                 (- (cadr CTR) (/ H 2))
           )
  )
  (setq        LT (list (- (car CTR) (/ W 2))
                 (+ (cadr CTR) (/ H 2))
           )
  )
  (command "_.line" LB RB "")
  (command "_.line" RB RT "")
  (command "_.line" RT LT "")
  (setq LINE3 (entlast))
  (command "_.line" LT LB "")
  (setq LINE4 (entlast))
  (setq        PT (list (/ (+ (car LB) (car RT)) 2)
                 (/ (+ (cadr LB) (cadr RT)) 2)
           )
  )
  (DO_IT)
  (while (setq PT (getpoint "\n框交点: "))
    (if        (and (> (car PT) (car LB))
             (> (cadr LT) (cadr PT))
             (< (car PT) (car RB))
             (< (cadr RB) (cadr PT))
        )
      (DO_IT)
      (alert "\n    请选框内点: ")
    )
  )
  (setvar "blipmode" HOLDBLIP)
  (setvar "cmdecho" HOLDECHO)
  (setvar "osmode" HOLDOSMODE)
  (princ)
)
发表于 2002-6-3 18:54 | 显示全部楼层

可我试了一下,好象不太管用啊!

我真是个笨笨~~!不知是怎么出的错。我开不出来错在什么地方
发表于 2002-6-4 10:18 | 显示全部楼层

不知是怎么出的错,就没法改了

发表于 2002-6-8 16:11 | 显示全部楼层

龙兄,我会了,但还有点不是太满意。`~~

本帖最后由 作者 于 2002-6-8 16:11:42 编辑

我还想做个按钮,还有其他的什么完善一下就好了 。
对了在那个画完矩形时,它就自动出来一个交叉点,我觉得因该把它去掉,不知怎么改。
发表于 2002-6-10 08:42 | 显示全部楼层

那个交叉点是你要求的第3点呀!!...

那个交叉点是你要求的第3点呀!!
(defun CRBT (/ PT PT1        PT2 HOLDECHO HOLDBLIP HOLDOSMODE ANG DIST H W
               CTR RT LB RB LT LINE3 LINE4 DIST
              )
  (defun DO_IT ()
    (setq DIST (- (car PT) (car LB)))
    (setvar "offsetdist" DIST)
    (command "_.offset" "" LINE4 PT "")
    (setq DIST (- (cadr PT) (cadr LT)))
    (setvar "offsetdist" DIST)
    (command "_.offset" "" LINE3 PT "")
  )
  (setq HOLDECHO (getvar "cmdecho"))
  (setq HOLDBLIP (getvar "blipmode"))
  (setq HOLDOSMODE (getvar "osmode"))
  (setvar "cmdecho" 0)
  (setvar "blipmode" 0)
  (setvar "osmode" 0)
  (setq PT1 (getpoint "\n第一点: "))
  (setq PT2 (getpoint PT1 "\n对角点: "))
  (setq ANG (angle PT1 PT2))
  (setq DIST (distance PT1 PT2))
  (setq H (abs (- (cadr PT1) (cadr PT2))))
  (setq W (abs (- (car PT1) (car PT2))))
  (setq CTR (polar PT1 ANG (/ DIST 2.0)))
  (setq        RT (list (+ (car CTR) (/ W 2))
                 (+ (cadr CTR) (/ H 2))
           )
  )
  (setq        LB (list (- (car CTR) (/ W 2))
                 (- (cadr CTR) (/ H 2))
           )
  )
  (setq        RB (list (+ (car CTR) (/ W 2))
                 (- (cadr CTR) (/ H 2))
           )
  )
  (setq        LT (list (- (car CTR) (/ W 2))
                 (+ (cadr CTR) (/ H 2))
           )
  )
  (command "_.line" LB RB "")
  (command "_.line" RB RT "")
  (command "_.line" RT LT "")
  (setq LINE3 (entlast))
  (command "_.line" LT LB "")
  (setq LINE4 (entlast))
  (while (setq PT (getpoint "\n框交点: "))
    (if        (and (> (car PT) (car LB))
             (> (cadr LT) (cadr PT))
             (< (car PT) (car RB))
             (< (cadr RB) (cadr PT))
        )
      (DO_IT)
      (alert "\n    请选框内点: ")
    )
  )
  (setvar "blipmode" HOLDBLIP)
  (setvar "cmdecho" HOLDECHO)
  (setvar "osmode" HOLDOSMODE)
  (princ)
)

按键
^C^C(IF (NULL CRBT)(LOAD "LRBT"));LRBT
发表于 2002-6-16 12:55 | 显示全部楼层

好的,但是要添加一个按钮,怎么做?

本帖最后由 作者 于 2002-6-16 12:55:05 编辑

我 是说这个按钮是上面的程序的。使得不用每次都还要导入程序,输入命令。自动导入程序的一个文件ACDC。LSP我没找着啊?

发表于 2002-6-16 17:19 | 显示全部楼层

我怎么贴啊!

我还怎么贴啊!
我在前面贴了一些程序了,但怎么整体贴我不知道!
发表于 2002-6-16 17:21 | 显示全部楼层

我怎么贴啊!

怎么是内部认证?
内部认证了在哪贴啊?
发表于 2002-6-16 17:23 | 显示全部楼层

有什么事可发到我的邮箱

有什么事可发到我的邮箱中去。是JINGSABING@sohu.com
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-5-10 12:10 , Processed in 0.151079 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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