找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1929|回复: 32

[编程申请]:能帮我编一个打缺口的软件吗

[复制链接]
发表于 2005-1-4 20:03:20 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
*-*6 我想画一条线比如说:a长50 ,我想在上面打几个缺口,希望能象阵列一样输入 打几个缺口 每一个多大一下就出来了,我现在用的是最原始的 在上面画一条线然后在复制几毫米又剪掉它,好麻烦啊
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2005-1-4 20:37:52 | 显示全部楼层
有必要吗?  用虚线的线型不就行了吗?象你这样, 图上有那么多的小短线,你觉得舒服吗?修改起来也不方便!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-1-5 01:31:00 | 显示全部楼层
试试这个,直接画线,可能更简单:
[php]
;;;缺口线-虚线
(defun c:test036 ()
  (setq        dist1 (udist 1 "" "\n\t线长" dist1 (list 0 0))
        dist2 (udist 1 "" "\n\t缺口长" dist2 (list 0 0))
        pt1   (getpoint "\n\t起点")
        pt2   (getpoint pt1 "\n\t终点")
        ang   (angle pt1 pt2)
        n1    (fix (/ (distance pt1 pt2) (+ dist1 dist2)))
  )
  (repeat (fix n1)
    (setq pt2 (polar pt1 ang dist1)
          pt3 (polar pt2 ang dist2)
    )
    (command "line" pt1 pt2 "")
    (setq pt1 pt3)
  )
  (princ)
)
(defun udist (bit kwd msg def bpt / inp)
  (if def
    (setq msg (strcat "\n" msg "<" (rtos def) ">:")
          bit (* 2 (fix (/ bit 2)))
    )
    (setq msg (strcat "\n" msg ":"))
  )
  (initget bit kwd)
  (setq        inp
         (if bpt
           (getdist msg bpt)
           (getdist msg)
         )
  )
  (if inp
    inp
    def
  )
)
(defun upoint (bit kwd msg def bpt / inp)
  (if def
    (setq pts (strcat
                (rtos (car def))
                ", "
                (rtos (cadr def))
                (if (and (caddr def) (= 0 (getvar "flatland")))
                  (strcat ", " (rtos (caddr def)))
                  ""
                )
              )
          msg (strcat "\n" msg "<" pts ">: ")
          bit (* (fix (/ bit 2)))
    )
    (setq msg (strcat "\n" msg ": "))
  )
  (initget bit kwd)
  (setq        inp
         (if bpt
           (getpoint msg bpt)
           (getpoint msg)
         )
  )
  (if inp
    inp
    def
  )
)
[/php]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-1-5 11:01:13 | 显示全部楼层
我不知道拷到什么地方去啊
还有啊你告诉我的那个合并ZE我不知道在那里改,你能不能把你的QQ告诉我啊,这几天把我急死了,我又是初学,不好意思!*-*8
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-1-5 12:26:56 | 显示全部楼层
下载后放到cad搜索路径下。
在acad.lsp中增加:
(DEFUN C:ZE () (COMMAND "ZOOM" "E"))
(DEFUN C:dqk() (load"test036")(c:test036))
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-1-5 16:08:34 | 显示全部楼层
你能跟我QQ联系吗184105128谢谢
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-1-5 23:11:56 | 显示全部楼层
不会用QQ,呵呵……
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-1-6 10:04:47 | 显示全部楼层
但是我还是不懂啊,因为我是初学者所以不想在上面发帖子,怕人家笑。
我搜索了,但是没搜索到哪个acad.lsp,里面根本就没有啊。你能告诉我你每天什么时候在网上
我好请教,请教你啊
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-1-6 23:47:20 | 显示全部楼层
晚上12点,行吗!呵呵……
如果没有acad.lsp,就在cad搜索路径下新建一个acad.lsp文件。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-1-7 08:32:11 | 显示全部楼层
你帮我搞的那个线上打缺口的错了,我是要在一条已知的线上打任意个缺口呀,
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-1-7 13:45:29 | 显示全部楼层
最初由 82406515 发布
[B]你帮我搞的那个线上打缺口的错了,我是要在一条已知的线上打任意个缺口呀, [/B]

任意多条线改缺口线:
[php]
;;;缺口线
(defun c:test036a ()
  (princ"\n选择线 : ")
  (setq        SS    (ssget '((0 . "LINE")))
        dist1 (udist 1 "" "\n\t线长1" dist1 (list 0 0))
        dist2 (udist 1 "" "\n\t线长2" dist2 (list 0 0))
        i     -1
  )
  (vl-cmdf ".undo" "BE")
  (while (setq s1 (ssname ss (setq i (1+ i))))
    (setq pt1 (dxf 10 (entget s1))
          pt2 (dxf 11 (entget s1))
          ang (angle pt1 pt2)
          n1  (fix (/ (distance pt1 pt2) (+ dist1 dist2)))
    )
    (repeat (fix n1)
      (setq pt2        (polar pt1 ang dist1)
            pt3        (polar pt2 ang dist2)
      )
      (command "line" pt1 pt2 "")
      (setq pt1 pt3)
    )
    (entdel s1)
  )
  (vl-cmdf ".undo" "E")
  (princ)
)
(defun udist (bit kwd msg def bpt / inp)
  (if def
    (setq msg (strcat "\n" msg "<" (rtos def) ">:")
          bit (* 2 (fix (/ bit 2)))
    )
    (setq msg (strcat "\n" msg ":"))
  )
  (initget bit kwd)
  (setq        inp
         (if bpt
           (getdist msg bpt)
           (getdist msg)
         )
  )
  (if inp
    inp
    def
  )
)
(defun dxf (code elist) (cdr (assoc code elist)))
[/php]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-1-7 17:23:15 | 显示全部楼层
大哥,好象还有一点问题,不知道你那个能不能在圆还有椭圆上打那个缺口啊。你看一下,还有啊,我另外有一个计算长度的程序,怎么不能加到那个acad.lisp中去呀。你看能不能帮我想想办法呀》我用的是R14版的
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-1-7 17:32:19 | 显示全部楼层
这就是那个计算长度的程序,怎么会加不到acad.lisp中去啊。我现在用的是每次打开CAD时就要加载一次好麻烦啊。还望大哥你一定回复我。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-1-8 00:38:34 | 显示全部楼层
R14,圆和椭圆不行。
在acad.lsp中增加:
(defun c:ca()(load"ca")(c:ca))

[php]
;;;ca.lsp 计算长度
(defun c:ca (/ os sum i ss en)
  (setq os (getvar "osmode"))
  (setvar "osmode" 0)
  (setq        sum 0
        i -1
  )
  (setq ss (ssget '((0 . "CIRCLE,ELLIPSE,LINE,*POLYLINE,SPLINE,ARC"))))
  (repeat (sslength ss)
    (setq en (ssname ss (setq i (1+ i))))
    (command "lengthen" en "")
    (setq sum (+ sum (getvar "perimeter")))
  )
  (setvar "osmode" os)
  sum
)
[/php]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-1-8 11:55:59 | 显示全部楼层
那小弟就期待你的改进OK!
还有一个问题请教你哦!我那个英文版的R14怎么在插入光栅图象的时候用那个,平移,和缩放速度都很慢怎么搞啊?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2025-9-21 23:14 , Processed in 0.226496 second(s), 61 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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