还需要老顾出手才行,已帮完成!  内容加载中,请稍后...
CAD家园 
CAD家园
生活因感动而精彩,理想在创造中放飞!
还需要老顾出手才行,已帮完成!
作者:cad 提交日期:2009-7-6| 分类: | 访问量:




还需要老顾出手才行,已帮完成!

图片:
文件图.dwg (31 K) 下载次数:2 *

我给你编制了一个程序如下:
(defun c:hwy (/ en p1 r an1 an2 en1 p2 r1 an3 an4 pp1 pp2 pp3 pp4 ppp1 ppp2 r2 aan1 aan)
(setvar "osmode" 0)
(prompt "选择弧的内弧:")
(setq en (entget (car (entsel))) p1 (cdr (assoc 10 en)) r (cdr (assoc 40 en)) an1 (cdr (assoc 50 en)) an2 (cdr (assoc 51 en))) ;求出圆心半径起始角和终止角
(prompt "选择弧的外弧:")
(setq en1 (entget (car (entsel))) p2 (cdr (assoc 10 en1)) r1 (cdr (assoc 40 en1)) an3 (cdr (assoc 50 en1)) an4 (cdr (assoc 51 en1))) ;求出圆心半径起始角和终止角
(setq pp1 (polar p1 an1 r) pp2 (polar p1 an2 r) pp3 (polar p2 an3 r1) pp4 (polar p2 an4 r1)) ;求出两条园弧的端点
(setq an5 (angle p1 p2) p3 (polar p1 an5 (/ (distance p1 p2) 2.0))) ;求出弧中心园的圆心
(setq ppp1 (polar pp1 (angle pp1 pp3) (/ (distance pp1 pp3) 2.0)) ppp2 (polar pp2 (angle pp2 pp4) (/ (distance pp2 pp4) 2.0))) ;求出两圆弧端点的中点
(setq an3 (angle p3 ppp1) an4 (angle p3 ppp2)) ;从算出起始角和终止角
(setq r2 (distance p3 ppp1) aan1 (/ (abs (- an4 an3)) 8.0) aan an3)  ;r2为中心半径aan1 为每步的角我按8步算你可改变
(setq p5 (polar p3 an3 r2))
(command "circle" p5 "0.5") ;半径我给的固定数0.5你可改变用变量来替换就行了
(repeat 8
(setq aan (+ aan aan1) p4 (polar p3 aan r2) )
(command "circle" p4 "0.5")
)
)
;用你提供的图是对的


[ 此贴被老顾在2007-11-21 17:44重新编辑 ] *

按步法算圆心到圆心距离太大了,可否控制3MM以上5MM以下,如果有一个两个端点距离是5。5左右的,要保证端点有圆,距离就不可能大于3可以符合要求,新手有时很多就是想得不全,还再嘛烦你帮改一改,


[ 此贴被xd12345在2007-11-21 20:17重新编辑 ] *

图片:
程序应无问题,把你的图放大了4倍,无问题
(defun c:hwy (/ en p1 r an1 an2 en1 p2 r1 an3 an4 pp1 pp2 pp3 pp4 ppp1 ppp2 r2 aan1 aan)
(setvar "osmode" 0)
(prompt "选择弧的内弧:")
(setq en (entget (car (entsel))) p1 (cdr (assoc 10 en)) r (cdr (assoc 40 en)) an1 (cdr (assoc 50 en)) an2 (cdr (assoc 51 en))) ;求出圆心半径起始角和终止角
(prompt "选择弧的外弧:")
(setq en1 (entget (car (entsel))) p2 (cdr (assoc 10 en1)) r1 (cdr (assoc 40 en1)) an3 (cdr (assoc 50 en1)) an4 (cdr (assoc 51 en1))) ;求出圆心半径起始角和终止角
(setq pp1 (polar p1 an1 r) pp2 (polar p1 an2 r) pp3 (polar p2 an3 r1) pp4 (polar p2 an4 r1)) ;求出两条园弧的端点
(setq an5 (angle p1 p2) p3 (polar p1 an5 (/ (distance p1 p2) 2.0))) ;求出弧中心园的圆心
(setq ppp1 (polar pp1 (angle pp1 pp3) (/ (distance pp1 pp3) 2.0)) ppp2 (polar pp2 (angle pp2 pp4) (/ (distance pp2 pp4) 2.0))) ;求出两圆弧端点的中点
(setq an3 (angle p3 ppp1) an4 (angle p3 ppp2)) ;从算出起始角和终止角
(setq r2 (distance p3 ppp1) aan1 (/ (abs (- an4 an3)) 8.0) aan an3)  ;r2为中心半径aan1 为每步的角我按8步算你可改变
(setq p5 (polar p3 an3 r2) a (* (distance pp1 pp3) 0.8))
(command "circle" p5 "d" a) ;半径我给的固定数0.5你可改变用变量来替换就行了
(command "line" pp1 pp3 """line" pp2 pp4 "")
(repeat 8
(setq aan (+ aan aan1) p4 (polar p3 aan r2) )
(command "circle" p4 "d" a)
)
)

这个程序中间的孔径取两端点距离的0.8倍,两端点给画线了。 *

乖乖,相当的复杂,搞的我都不敢学了。 *

图片:
HWY.dwg (37 K) 下载次数:2 *

图片:
我在上面的程序这些多是可以改变的,现我按你的要求把程序改好了见下:
(defun c:hwy (/ en p1 r an1 an2 en1 p2 r1 an3 an4 pp1 pp2 pp3 pp4 ppp1 ppp2 r2 aan1 aan  a b b1 n)
(setvar "osmode" 0)
(prompt "选择弧的内弧:")
(setq en (entget (car (entsel))) p1 (cdr (assoc 10 en)) r (cdr (assoc 40 en)) an1 (cdr (assoc 50 en)) an2 (cdr (assoc 51 en))) ;求出圆心半径起始角和终止角
(prompt "选择弧的外弧:")
(setq en1 (entget (car (entsel))) p2 (cdr (assoc 10 en1)) r1 (cdr (assoc 40 en1)) an3 (cdr (assoc 50 en1)) an4 (cdr (assoc 51 en1))) ;求出圆心半径起始角和终止角
(setq pp1 (polar p1 an1 r) pp2 (polar p1 an2 r) pp3 (polar p2 an3 r1) pp4 (polar p2 an4 r1)) ;求出两条园弧的端点
(setq an5 (angle p1 p2) p3 (polar p1 an5 (/ (distance p1 p2) 2.0))) ;求出弧中心园的圆心
(setq ppp1 (polar pp1 (angle pp1 pp3) (/ (distance pp1 pp3) 2.0)) ppp2 (polar pp2 (angle pp2 pp4) (/ (distance pp2 pp4) 2.0))) ;求出两圆弧端点的中点
(setq an3 (angle p3 ppp1) an4 (angle p3 ppp2)) ;从算出起始角和终止角
(setq r2 (distance p3 ppp1) )  ;r2为中心半径
(setq p5 (polar p3 an3 r2) a (getreal "孔径: ") b (getint "孔与孔的大约距离:  ")) ;输入孔径,孔与孔的距离
(command "line" pp1 pp3 """line" pp2 pp4 "")  ;画两端的线
(setq  b1 (abs (- an4 an3)) b2 (* b1 r2) n (fix (/ b2 b)) aan1 (/ (abs (- an4 an3)) n) aan an3);计算出它的步数n  aan1 为每步的角,
(command "circle" p5 "d" a) ;半径我给的固定数0.5你可改变用变量来替换就行了
(repeat n
(setq aan (+ aan aan1) p4 (polar p3 aan r2) )
(command "circle" p4 "d" a)
)
) *

很多都是半懂半不懂,不是专项的,也没有实际能力,不好意思也得请老大出手, *

本文摘自:http://www.jxcad.com.cn/read.php?tid=469280



阅读全文 | 回复(0) | 引用通告 | 编辑


作者:游客
输入您的评论:(不支持HTML标签)

段首缩进两个汉字:


  
个人档案
文章分类
企业管理与质量体系(4019)

建筑标准区(2817)

已应助标准区(17707)

标准资料攻关区(30)

资料教程区(168)

精品教程区(95)

UG习题区(95)

Solidworks插件学习区(96)

Solidworks习题及画法区(95)

模型及标准件库区(24)

Pro/E教程区(94)

加分习题区(95)

Pro/E二次开发(96)

习题区(62)

练习提高区(94)

资料教程区(96)

作品展示及模型专区(96)

焦点专区(96)

AutoCAD 二次开发专区(96)

画法几何及习题专区(96)

图纸专区(95)

资料区(95)

资料区(96)

起重机交流区(96)

冶金设备资料图纸共享专区(95)

钢铁新闻(90)

资料区(53)

资料区(96)

资料区(96)

习题区(35)

资料区(97)

资料区(96)

液压气动仿真(91)

轴承专版(92)

资料区(97)

涉世之初(95)

已答复区(95)

技术求助, 应助 技术心得, 探讨(91)

Technical English(or other languages) Forum(103)

基础理论(95)

手册区(93)

机械零部件、机构、装置、设备设计、制造及应用专区(93)

工程材料(95)

金属热处理(96)

机械冷加工(95)

资料区(95)

液压气动、液力传动与控制、仿真设计等资料(95)

五金模具设计(96)

金属板料成形专版(95)

塑胶模具设计(95)

特种加工(96)

橡胶与工程塑料(96)

化工机械、管道与压力容器专版(4209)

汽车技术专版(12590)

齿轮类零件及减(增)速机设计、制造及应用专区(5305)

电子(电气)、电力系统专业基础知识、应用技术、技术经验、资料交流(14173)

钢铁、冶金技术(12883)

重型机械装备(2798)

数控技术(2688)

清洁能源(93)

AutoDesk技术、教程、资料交流区(17459)

Inventor设计应用专区(4595)

Catia技术、教程、资料交流区(2329)

CAXA技术、教程、资料交流专区(3870)

KM开目技术、教程、资料交流专区(403)

Pro/E技术、教程、资料交流区(11947)

SolidWorks 技术、教程、资料交流区(9523)

TH天河技术、教程、资料交流专区(1635)

UGS技术、教程、资料交流区(7596)

建筑设计CAD专区(1629)

逆向工程技术、教程、资料交流专区(902)

其它CAX软件交流区(533)

ANSYS系列软件技术资料交流区(6590)

ABAQUS软件技术资料交流区(650)

CFD软件技术资料交流区(851)

MSC 系列软件技术资料交流区(2509)

疲劳, 断裂力学, 可靠性及钢结构软件技术资料交流专区(831)

科学, 工程计算专版(533)

其它 CAE软件技术资料交流区(1334)

Cimatron技术、教程、资料交流区(726)

MasterCAM技术、教程、资料交流区(1932)

PowerMill技术、教程、资料交流区(402)

其它 CAM软件技术资料交流区(436)

标准资料求助板块(1215)

国内标准共享版块(19074)

国外标准共享版块(10434)

标准手册区(1766)

标准库(112)

标准件、非标准件图形图库专区(951)

Copyright © 2008.01.06 design| CAD家园   生活因感动而精彩,理想在创造中放飞