明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1576|回复: 3

一个烂尾的程序

[复制链接]
发表于 2016-8-7 23:52 | 显示全部楼层 |阅读模式
(defun c:q1 ()
  (setvar "cmdecho" 0)
  (setq os (getvar "osmode"))
  (setvar "osmode" 0)
  (setq dd (getdist "\n圆半径<5>: "))
  (if (null dd)
    (setq dd 5)
  )
  (setq num (getint "\n起始编号<1>: "))
  (if (null num)
    (setq num 1)
  )

  (if (= shuoming nil) (setq shuoming "0"))
  (princ "\n说明: Or [螺母(1) /轴(2) /轴承(3)] <")
  (princ shuoming)(princ ">: ")
  (setq shuoming (getstring ))
         (if (= shuoming "")  (setq shm "")) ;(setq tt shuoming)
         (if (= shuoming "1") (setq shm "螺母"))
         (if (= shuoming "2") (setq shm "轴"))
  (setq shuoming shm)

  (setq dd2 (/ dd 5.))
  (while (setq pt1 (getpoint "\n第一点<退出>: "))
    (command "donut" 0 dd2 pt1 "")
    (setq pt2  (getpoint pt1 "\n第二点<退出>: ")
          pt2a (polar pt2 (angle pt2 pt1) dd)
    )

    (command "Ortho" "on")
    (setq pt3 (getpoint pt2 "\n方向:"))
    (command "Ortho" "off")
    (setq pt3 (polar pt2 (angle pt2 pt3) dd))

    (command "line" pt1 pt2a "")
    (command "circle" pt2 dd)
    (command "text" "m" pt2 (/ dd 1.3) 0 (itoa num))
    (command "text" "m" pt3 (/ dd 1.3) 0 shm)
    (setq num (1+ num))
  )
  (setvar "osmode" os)
  (princ)
)
 楼主| 发表于 2016-8-8 00:13 | 显示全部楼层
本帖最后由 皇上快溜 于 2016-8-8 00:30 编辑

首先,该程序主要部分来自明经,感谢原作者,我是在其基础上添加了一些东西,另外还要感谢版主 ZZXXQQ。添加部分受了他的指点

无奈,基础太差,程序然是个烂尾的程序。求各位指点点,,
问题有两个
1:从球号1递进到球号2时,程序不能循环到(if (= shuoming nil) (setq shuoming "0"))处。
想在球号2时输入别的选项
2:文字(图中“螺母”)插入点定义任然不理想.
(setq pt3 (polar pt2 (angle pt2 pt3) dd))处的dd为球号半径,想把它改为dd的三倍,不知道怎么定义。
另外,处于水平位置时,如图中的球号3,那种情形。文字插入点即使dd的三倍,仍然有可能粘在一起,不知有什么方法,可以让两者的位置调整到最佳状态

本帖子中包含更多资源

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

x
发表于 2017-9-25 14:56 | 显示全部楼层
楼主继续啊
发表于 2020-8-6 21:28 | 显示全部楼层

测试了一下,很不错
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-19 21:26 , Processed in 0.345258 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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