3530630 发表于 2004-9-4 17:10:00

紧急求救!!

怎样在cad中画出这些点坐标,然后在点上以t和r为半径画园,那位大侠能否帮我解决一下,我已弄了好多天了,都没弄出来,急死了

王咣生 发表于 2004-9-4 22:55:00

回复

本帖最后由 作者 于 2004-9-5 11:15:53 编辑 <br /><br /> 用VBA比较方便,先编辑一下xls为txt



参考:


包含了: txt, dvb, dwg.


Sub test()<BR>                       On Error GoTo ERRORHANDLER<BR>                       <BR>                       Dim path As String<BR>                       path = "F:\程序\MJTD\坐标剪力半径\坐标剪力半径.txt"                                                                       '*路径设置*<BR>                       Dim x, y, z, t, r As Double<BR>                       <BR>                       Open path For Input As #1<BR>                       Do While Not EOF(1)<BR>                                                       Input #1, x, y, z, t, r<BR>                                                       'Create Point<BR>                                                       Dim pointObj As AcadPoint<BR>                                                       Dim location(0 To 2) As Double<BR>                                                       'Define the location of the point<BR>                                                       location(0) = x: location(1) = y: location(2) = z<BR>                                                       'Create the point<BR>                                                       Set pointObj = ThisDrawing.ModelSpace.AddPoint(location)<BR>                                                       <BR>                                                       'Create circle in model space.<BR>                                                       Dim circleObj As AcadCircle<BR>                                                       Dim centerPoint(0 To 2) As Double<BR>                                                       Dim radius As Double<BR>                                                       <BR>                                                       'Define the circle<BR>                                                       centerPoint(0) = x: centerPoint(1) = y: centerPoint(2) = z<BR>                                                       radius = r<BR>                                                       'Create the Circle object in model space<BR>                                                       Set circleObj = ThisDrawing.ModelSpace.AddCircle(centerPoint, radius)<BR>                                                       ZoomExtents<BR>                                                       <BR>                       Loop<BR>                       Close #1<BR>                       <BR>                       MsgBox "Finished"<BR>                                                       <BR>                       Exit Sub<BR>ERRORHANDLER:<BR>                       Debug.Print Err.Description &amp; Err.Number<BR>End Sub<BR>


For AutoCAD2000:

3530630 发表于 2004-9-5 10:01:00

谢谢了,但是在我打开图形实说.dwg图形不能兼容,打不开图形,为什么,是不是我的CAD的软件版本太低了,我用的是autocad2000,还望大侠多多指教。

王咣生 发表于 2004-9-5 11:12:00

回复

那是AutoCAD2004版本的,你完全可以用其中的dvb程序再重新生成,注意程序中txt文本的路径设置.

3530630 发表于 2004-9-5 15:54:00

哦,我知道了,谢谢斑竹,已经实现了。斑竹真的很热心帮人,在下实在是感激不尽。但是我又想改进一下,本人要实现的是:r表示抗剪强度,t表示剪应力,用图形表示每个点的剪应力t有没有超过抗剪强度。


即:显示出来的图形是用r值画的圆,而圆中是用t值表示的半径,如果t值表示的半径超出了圆的范围,即表示剪力不够,能否帮我实现一下?上次数据有误我再发一遍。

王咣生 发表于 2004-9-5 18:35:00

回复

仔细解释一下你的意思:


"<B>显示出来的图形是用r值画的圆,而圆中是用T值表示的半径</B>"是否就是两个圆,一个半径是<B>R</B>,另一个半径是<B>T</B>? 如果半径为<B>T</B>的圆大于半径为<B>R</B>的圆, "<B>表示剪力不够</B>", 不够又怎么样呢? (总要做一些处理吧)


那你的数据中r和t的值应该不等才对?

3530630 发表于 2004-9-5 18:53:00

所需要形成的图形如图所示,其圆用t为半径画得,箭头长由r值所得

3530630 发表于 2004-9-5 18:58:00

不好意思图形没传上来

3530630 发表于 2004-9-5 19:06:00




更改后的数据

3530630 发表于 2004-9-5 19:10:00

不好意思数据又错了,再发一次,这是所计算的数据文件
页: [1] 2
查看完整版本: 紧急求救!!