明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1618|回复: 3

[求助]有关自定义涵数的问题

[复制链接]
发表于 2006-4-22 08:46:00 | 显示全部楼层 |阅读模式

(defun fc()
(setvar "cmdecho" 0)
(setq old_os (getvar "osmode"))
(setvar "osmode" 0)
(setq old_cha 2)
(setq pc1 (getpoint "\n Specify first point:"))
(setq pc2 (getpoint pc1 "\n Specify next  point:"))
(setq zang (angle pc1 pc2))
(setq pr1 (polar pc1 (+ zang (angtof "90")) old_cha))
(setq pb1 (polar pc1 zang  old_cha))
(setq pr2 (polar pc2 (+ zang (angtof "90")) old_cha))
(setq pb2 (polar pc2 (+ zang (angtof "180")) old_cha))
(command "line" pr1 pb1 pb2 pr2 "")
(setvar "osmode" ols_os)
(princ)
)

这是一个画模架图直线加倒角的程式,我在图上定义了很多点(如 p1 p2 p3 p4 等等很多),执行此程式时要将目的点转为当前点pc1,pc2才能执行如(setq pc1 p61 pc2 p63)
(fc),这个令我很困惑,如何将FC转为一个自定义涵数执行时输入命令(fc p1 p2)就能从p1到p2间画一条带倒角的线。在此先谢了。

发表于 2006-4-22 19:27:00 | 显示全部楼层

(defun fc(pc1 pc2)
(setvar "cmdecho" 0)
(setq old_os (getvar "osmode"))
(setvar "osmode" 0)
(setq old_cha 2)
(if (null pc1)(setq pc1 (getpoint "\n Specify first point:")))
(if (null pc2)(setq pc2 (getpoint pc1 "\n Specify next  point:")))
(setq zang (angle pc1 pc2))
(setq pr1 (polar pc1 (+ zang (angtof "90")) old_cha))
(setq pb1 (polar pc1 zang  old_cha))
(setq pr2 (polar pc2 (+ zang (angtof "90")) old_cha))
(setq pb2 (polar pc2 (+ zang (angtof "180")) old_cha))
(command "line" pr1 pb1 pb2 pr2 "")
(setvar "osmode" ols_os)
(princ)
)

你说的是不是这样?但是这样也是需要先选择点pc1和点pc2的~~~~~~

 楼主| 发表于 2006-4-24 08:06:00 | 显示全部楼层
不是这种效果,我要的是点不需要转换为PC1,PC2,命令直接对任意点都可以执行如:(fc p53 p98)

本帖子中包含更多资源

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

x
 楼主| 发表于 2006-4-25 08:05:00 | 显示全部楼层
哎!没有人答复,自已顶算了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-9-20 01:37 , Processed in 0.194024 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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