明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
123
返回列表 发新帖
楼主: alan_cmh

[求助]一個特殊的倒角程序

  [复制链接]
 楼主| 发表于 2004-6-23 10:20 | 显示全部楼层
如何在程序运行开始时提示h1和h2 的值?
发表于 2004-6-23 18:48 | 显示全部楼层
这样行么? (defun c:dj( / l ll p1 h h1 h2)
(setq cm(getvar "cmdecho") os(getvar "osmode"))
(setvar "cmdecho" 0)
(setq h(getreal "请输入默认值:"))
(setq l(car (nentsel "请选择直线1")))
(if h (setq h1 h ) (setq h1(getdist "线1切割值:")) )
(setq ll(car (nentsel "请选择直线2")))
(if h (setq h2 h ) (setq h2(getdist "线2切割值:")) )
(setq p1 (inters (cdr (assoc 10 (entget l))) (cdr (assoc 11 (entget l)))
(cdr (assoc 10 (entget ll))) (cdr (assoc 11 (entget ll))) nil))
(command "_chamfer" "d" h1 h2) (command)
(command "_chamfer" l ll)
(setq line(entlast))
(setvar "osmode" 0)
(command "rectang" (cdr (assoc 10 (entget line)))
(cdr (assoc 11 (entget line))) )
(command "trim" line "" p1 "")
(setvar "osmode" os)
(command "erase" line "")
(command "explode" (entlast) )
(setvar "cmdecho" cm) (print)
)
 楼主| 发表于 2004-6-23 21:38 | 显示全部楼层



谢谢ljcgq,"如何在程序运行开始时提示h1和h2 的值?"


我指的是在输入dj命令后,即给出上次的h1和h2 的值,如果是第一次启动dj命令,就提示默认值1.5,就如autocad 的chamfer命令一样!

本帖子中包含更多资源

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

x
发表于 2004-6-25 13:18 | 显示全部楼层
好东西,我看不懂,但我会用了,谢谢大家!
发表于 2004-6-27 17:11 | 显示全部楼层
alan_cmh :下面的修改基本能满足你的要求但是思路不好....希望高手们能给些建议... (defun c:dj( / l ll p1 )
(setq cm(getvar "cmdecho") os(getvar "osmode"))
(setvar "cmdecho" 0)
(if (= h1 nil)
(progn (print "当前默认值h1=1.5;h2=1.5")(print))
(progn (print (strcat "当前默认值h1=" (rtos h1) ";h2=" (rtos h2))) (print))
)
(if (= "t" (getstring "修改默认值<t>:"))
(progn
(setq h1(getreal "请输入默认值h1:"))
(setq h2(getreal "请输入默认值h2:"))
(setq h3 1)
)
(if ( /= h3 1)
(setq h1 1.5 h2 1.5)
)
)
(setq l(car (nentsel "请选择直线1")))


(setq ll(car (nentsel "请选择直线2")))
(setq p1 (inters (cdr (assoc 10 (entget l))) (cdr (assoc 11 (entget l)))
(cdr (assoc 10 (entget ll))) (cdr (assoc 11 (entget ll))) nil))
(command "_chamfer" "d" h1 h2) (command)
(command "_chamfer" l ll)
(setq line(entlast))
(setvar "osmode" 0)
(command "rectang" (cdr (assoc 10 (entget line)))
(cdr (assoc 11 (entget line))) )
(command "trim" line "" p1 "")
(setvar "osmode" os)
(command "erase" line "")
(command "explode" (entlast) )
(setvar "cmdecho" cm) (print)
(setq h11 h1) (setq h22 h2)
)
发表于 2004-10-31 10:31 | 显示全部楼层
ljcgq您好! 我不会编程,能不能帮忙编一个"倒角"为园的四分之一的,再次表示感谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-2 17:09 , Processed in 0.212521 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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