社区活动 技术论坛 如何构造一个与其它特征相切的圆
如何构造一个与其它特征相切的圆
2004-12-22 13:29 78 0 12
如果我在一个工作面上测了三个不相交的圆,我想构造一个圆与这三个圆外切或内切该怎么做? 目前好象只能构造一个过三个圆圆心的圆。
我要回复

登陆后才能评论

登录
所有回贴(12)
如果我在一个工作面上测了三个不相交的圆,我想构造一个圆与这三个圆外切或内切该怎么做? 目前好象只能构造一个过三个圆圆心的圆。
2004-12-22 13:29
回复
取消
提交
在构造圆 程序里直接改直径值!
2004-12-22 16:59
回复
取消
提交
我想这是个数学问题。解方程就可以了。 设定: 圆1(X1,Y1,0) R1 圆2(X2,Y2,0) R2 圆3(X3,Y3,0) R3 被求圆的坐标 (X4,Y4,0) R4 就会有方程 (R1+R4)^2=(X4-X1)^2+(Y4-Y1)^2 (R2+R4)^2=(X4-X2)^2+(Y4-Y2)^2 (R3+R4)^2=(X4-X3)^2+(Y4-Y3)^2 解开这个方程式就可以得到内切圆的坐标和半径。 X4,Y4,R4 让我们把PC-DMIS进行到底
2004-12-23 16:36
回复
取消
提交
这真是个非常有趣的问题.我完全同意楼上的方程,用代数法的话这可能是唯一解.但解这方程并不十分容易,所以我想用几何法在PC-DMIS中求解:(请看图) 1,通过3圆心(CIR1,2,3)做CIR4; 2,分别作从CIR4到CIR1,2,3的连线LIN1,2,3; 3,作LIN1,2,3分别到CIR1,2,3的交叉点INT1,2,3; 4,作CIR5过INT1,2,3; (重复2-4) 5,分别作从CIR5到CIR1,2,3的连线LIN4,5,6; 6,作LIN4,5,6分别到CIR1,2,3的交叉点INT4,5,6; 7,作CIR6过INT4,5,6; CIR6就是所求内切圆. 非常报歉我还不能从几何上证明出来,但我CAD中用PARAMETRIC SKETCHING 试了很多不同大小和位置的圆,发现第二次"迭代"后的结果已准确到小数点后3位. 希望有几何高手帮我一起证明.另一方法就是在PC-DMIS中写个LOOP加条件语句来进行迭代(等我有时间试出后公布,也请各位高手一起试).
2004-12-24 04:19
回复
取消
提交
补充一点.虽然我无法从几何上正明,但从迭代原理来讲这种作法是完全站得住脚的.因为迭代的结束条件是上一次结果和这次结果吻合或差别小到可忽略,所以3个交叉点会不断靠近内切点,最终合并,这时CIRn就和CIRn+1一样了. 如果各位还记得高等代数中求解曲线上任一点的切线的牛顿迭代法的话道理是一样的.
2004-12-24 04:40
回复
取消
提交
以下是我的程序,只用了5次循环没有用条件判断,从结果看应该够了: PART NAME : TAN_CIR REV NUMBER : SER NUMBER : STATS COUNT : 1 STARTUP =ALIGNMENT/START,RECALL:, LIST= YES ALIGNMENT/END MODE/MANUAL LOADPROBE/SP600 TIP/T1A0B0, SHANKIJK=0, 0, 1, ANGLE=0 MODE/DCC CIR1 =AUTO/CIRCLE, SHOWALLPARAMS=YES, SHOWHITS=NO THEO/5,10,0,0,0,1,18 ACTL/5,10,0,0,0,1,18 TARG/5,10,0,0,0,1 THEO_THICKNESS = 0, RECT, IN, STRAIGHT, LEAST_SQR, ONERROR = NO ,$ AUTO MOVE = NO, DISTANCE = 0, RMEAS = None, READ POS = NO, FIND HOLE = NO, REMEASURE = NO ,$ NUMHITS = 4, INIT = 0, PERM = 0, SPACER = 0, PITCH = 0 ,$ START ANG = 0, END ANG = 360, DEPTH = 0 ,$ ANGLE VEC = 1,0,0 CIR2 =AUTO/CIRCLE, SHOWALLPARAMS=YES, SHOWHITS=NO THEO/28,8,0,0,0,1,12 ACTL/28,8,0,0,0,1,12 TARG/28,8,0,0,0,1 THEO_THICKNESS = 0, RECT, IN, STRAIGHT, LEAST_SQR, ONERROR = NO ,$ AUTO MOVE = NO, DISTANCE = 0, RMEAS = None, READ POS = NO, FIND HOLE = NO, REMEASURE = NO ,$ NUMHITS = 4, INIT = 0, PERM = 0, SPACER = 0, PITCH = 0 ,$ START ANG = 0, END ANG = 360, DEPTH = 0 ,$ ANGLE VEC = 1,0,0 CIR3 =AUTO/CIRCLE, SHOWALLPARAMS=YES, SHOWHITS=NO THEO/20,34,0,0,0,1,10 ACTL/20,34,0,0,0,1,10 TARG/20,34,0,0,0,1 THEO_THICKNESS = 0, RECT, IN, STRAIGHT, LEAST_SQR, ONERROR = NO ,$ AUTO MOVE = NO, DISTANCE = 0, RMEAS = None, READ POS = NO, FIND HOLE = NO, REMEASURE = NO ,$ NUMHITS = 4, INIT = 0, PERM = 0, SPACER = 0, PITCH = 0 ,$ START ANG = 0, END ANG = 360, DEPTH = 0 ,$ ANGLE VEC = 1,0,0 CIR4 =FEAT/CIRCLE,RECT,OUT,LEAST_SQR THEO/17.366,18.959,0,0,0,1,30.54 ACTL/17.366,18.959,0,0,0,1,30.54 CONSTR/CIRCLE,BF,CIR1,CIR2,CIR3,, FORMAT/TEXT,OPTIONS,HEADINGS, , ;MEAS, , , , , , DISPLAYPRECISION/5 COMMENT/DOC,***** Assign initial value ***** ASSIGN/X = CIR4.X ASSIGN/Y = CIR4.Y ASSIGN/Z = CIR4.Z ASSIGN/D = CIR4.D COMMENT/DOC,***** Loop starts here ***** , , V1 =LOOP/START, ID = YES, NUMBER = 5, START = 1, SKIP = , OFFSET: XAXIS = 0, YAXIS = 0, ZAXIS = 0, ANGLE = 0 CEN_OLD =GENERIC/CIRCLE,DEPENDENT,RECT,OUT,$ NOM/XYZ,X,Y,Z,$ MEAS/XYZ,X,Y,Z,$ NOM/IJK,0,0,1,$ MEAS/IJK,0,0,1,$ DIAMETER/D,D LIN1 =FEAT/LINE,RECT,UNBND THEO/17.366,18.959,0,-0.809808,-0.586695,0 ACTL/19.601,20.197,0,-0.8198566,-0.5725689,0 CONSTR/LINE,BF,2D,CEN_OLD,CIR1,, PART NUMBER=TAN_CIR DATE=12/23/2004 TIME=5:26:15 PM PAGE#=2 LIN2 =FEAT/LINE,RECT,UNBND THEO/17.366,18.959,0,0.6963851,-0.7176683,0 ACTL/19.601,20.197,0,0.5671505,-0.8236141,0 CONSTR/LINE,BF,2D,CEN_OLD,CIR2,, LIN3 =FEAT/LINE,RECT,UNBND THEO/17.366,18.959,0,0.1724963,0.9850102,0 ACTL/19.601,20.197,0,0.0288947,0.9995825,0 CONSTR/LINE,BF,2D,CEN_OLD,CIR3,, INT1 =FEAT/POINT,RECT THEO/12.28827,15.28025,0,-0.809808,-0.586695,0 ACTL/12.37871,15.15312,0,-0.8198566,-0.5725689,0 CONSTR/POINT,PIERCE,LIN1,CIR1 INT2 =FEAT/POINT,RECT THEO/23.82169,12.30601,0,0.6963851,-0.7176683,0 ACTL/24.5971,12.94168,0,0.5671505,-0.8236141,0 CONSTR/POINT,PIERCE,LIN2,CIR2 INT3 =FEAT/POINT,RECT THEO/19.13752,29.07495,0,0.1724963,0.9850102,0 ACTL/19.85553,29.00209,0,0.0288947,0.9995825,0 CONSTR/POINT,PIERCE,LIN3,CIR3 CEN_NEW =FEAT/CIRCLE,RECT,OUT,LEAST_SQR THEO/19.7059,20.19502,0,0,0,1,17.7962 ACTL/19.60089,20.19677,0,0,0,1,17.61799 CONSTR/CIRCLE,BF,INT1,INT2,INT3,, ASSIGN/X = CEN_NEW.X ASSIGN/Y = CEN_NEW.Y ASSIGN/Z = CEN_NEW.Z ASSIGN/D = CEN_NEW.D LOOP/END COMMENT/DOC,***** Loop ends here ***** , COMMENT/DOC,***** Loop #1 ***** , DIM LOC5= LOCATION OF CIRCLE CEN_OLD[1] UNITS=MM ,$ GRAPH=OFF TEXT=OFF MULT=1.00 OUTPUT=BOTH AX MEAS X 17.36600 Y 18.95900 D 30.54000 END OF DIMENSION LOC5 DIM LOC6= LOCATION OF CIRCLE CEN_NEW[1] UNITS=MM ,$ GRAPH=OFF TEXT=OFF MULT=1.00 OUTPUT=BOTH AX MEAS X 19.70590 Y 20.19502 D 17.79620 END OF DIMENSION LOC6 COMMENT/DOC,***** Loop #2 ***** , DIM LOC5= LOCATION OF CIRCLE CEN_OLD[2] UNITS=MM ,$ GRAPH=OFF TEXT=OFF MULT=1.00 OUTPUT=BOTH AX MEAS X 19.70600 Y 20.19500 D 17.79600 END OF DIMENSION LOC5 DIM LOC6= LOCATION OF CIRCLE CEN_NEW[2] UNITS=MM ,$ GRAPH=OFF TEXT=OFF MULT=1.00 OUTPUT=BOTH AX MEAS X 19.60095 Y 20.19682 D 17.61835 END OF DIMENSION LOC6 COMMENT/DOC,***** Loop #3 ***** , PART NUMBER=TAN_CIR DATE=12/23/2004 TIME=5:26:15 PM PAGE#=3 DIM LOC5= LOCATION OF CIRCLE CEN_OLD[3] UNITS=MM ,$ GRAPH=OFF TEXT=OFF MULT=1.00 OUTPUT=BOTH AX MEAS X 19.60100 Y 20.19700 D 17.61800 END OF DIMENSION LOC5 DIM LOC6= LOCATION OF CIRCLE CEN_NEW[3] UNITS=MM ,$ GRAPH=OFF TEXT=OFF MULT=1.00 OUTPUT=BOTH AX MEAS X 19.60089 Y 20.19677 D 17.61799 END OF DIMENSION LOC6 COMMENT/DOC,***** Loop #4 ***** , DIM LOC5= LOCATION OF CIRCLE CEN_OLD[4] UNITS=MM ,$ GRAPH=OFF TEXT=OFF MULT=1.00 OUTPUT=BOTH AX MEAS X 19.60100 Y 20.19700 D 17.61800 END OF DIMENSION LOC5 DIM LOC6= LOCATION OF CIRCLE CEN_NEW[4] UNITS=MM ,$ GRAPH=OFF TEXT=OFF MULT=1.00 OUTPUT=BOTH AX MEAS X 19.60089 Y 20.19677 D 17.61799 END OF DIMENSION LOC6 COMMENT/DOC,***** Loop #5 ***** , DIM LOC5= LOCATION OF CIRCLE CEN_OLD[5] UNITS=MM ,$ GRAPH=OFF TEXT=OFF MULT=1.00 OUTPUT=BOTH AX MEAS X 19.60100 Y 20.19700 D 17.61800 END OF DIMENSION LOC5 DIM LOC6= LOCATION OF CIRCLE CEN_NEW[5] UNITS=MM ,$ GRAPH=OFF TEXT=OFF MULT=1.00 OUTPUT=BOTH AX MEAS X 19.60089 Y 20.19677 D 17.61799 END OF DIMENSION LOC6
2004-12-24 06:36
回复
取消
提交
楼上的方法很好,通过我的公式进行了验证。完全可以一般在4次的时候精度可以达到0.0001 让我们把PC-DMIS进行到底
2004-12-24 09:55
回复
取消
提交
好貼,值得各位收藏!
2004-12-24 10:05
回复
取消
提交
也要感谢DDC提出这样的问题,因为我在实践中还从来没遇到过,不知DDC是在怎样的测量要求下才要这样做的? 不过从PC-DMIS的应用来讲,这真是个开发思路的好例子.
2004-12-25 13:07
回复
取消
提交
quote:
这真是个非常有趣的问题.我完全同意楼上的方程,用代数法的话这可能是唯一解.但解这方程并不十分容易,所以我想用几何法在PC-DMIS中求解:(请看图) 1,通过3圆心(CIR1,2,3)做CIR4; 2,分别作从CIR4到CIR1,2,3的连线LIN1,2,3; 3,作LIN1,2,3分别到CIR1,2,3的交叉点INT1,2,3; 4,作CIR5过INT1,2,3; (重复2-4) 5,分别作从CIR5到CIR1,2,3的连线LIN4,5,6; 6,作LIN4,5,6分别到CIR1,2,3的交叉点INT4,5,6; 7,作CIR6过INT4,5,6; CIR6就是所求内切圆. 非常报歉我还不能从几何上证明出来,但我CAD中用PARAMETRIC SKETCHING 试了很多不同大小和位置的圆,发现第二次"迭代"后的结果已准确到小数点后3位. 希望有几何高手帮我一起证明.另一方法就是在PC-DMIS中写个LOOP加条件语句来进行迭代(等我有时间试出后公布,也请各位高手一起试).
请问高手!CIR5不就是所求内切圆吗另外上述步骤中(重复2-4)是自动再走一遍的意思吗?
2004-12-30 10:31
回复
取消
提交
关注我们

海克斯康制造智能

电话咨询
400-6580-400

热线电话(工作时间8:30-17:30)

海克斯康制造智能