找回密码
 注册
查看: 11617|回复: 11

利用C#编程在SolidWorks下绘制螺旋桨叶片

[复制链接]
发表于 2006-8-5 01:19:28 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

x
很久以前的一个程序,看到有朋友问SW画涡轮叶片的问题就找了出来,今天先贴个制作完成的图,明天开始贴过程和源代码。
图中只有靠外侧部分的叶片是由C#程序绘制,其余部分(创建实体,中间的圆柱体桨毂,以及桨毂和桨叶之间的过渡)由手工完成。

 楼主| 发表于 2006-8-10 01:40:28 | 显示全部楼层

利用C#编程在SolidWorks下绘制螺旋桨叶片

呵呵,这么长时间没贴干货的原因是因为代码找不到了!当时对这个东西并不是特别的上心,所以被扔到角落里面去了。
  1. using System;
  2. using System.IO;
  3. namespace ConsoleApplication2
  4. {
  5. /// <summary>
  6. /// Class1 的摘要说明。
  7. /// </summary>
  8. class Class1
  9. {
  10. /// <summary>
  11. /// 应用程序的主入口点。
  12. /// </summary>
  13. ///
  14. static string[][] zb;
  15. [STAThread]
  16. static void Main(string[] args)
  17. {
  18. //
  19. // TODO: 在此处添加代码以启动应用程序
  20. //
  21. zb=new string[141][];
  22. try
  23. {
  24. using (StreamReader sr = new StreamReader("D:\\my_project\\ConsoleApplication2\\TextFile1.txt"))
  25. {
  26. //swDoc.InsertSketch();
  27. int i=0;
  28. string line;
  29. while ((line = sr.ReadLine()) != null)
  30. {
  31. if (line != "")
  32. {
  33. Console.WriteLine(line);
  34. zb[i++]=line.Split();
  35. }
  36. }
  37. sr.Close();
  38. Draw();
  39. }
  40. }
  41. catch(Exception e)
  42. {
  43. Console.WriteLine("The file could not be read:");
  44. Console.WriteLine(e.Source);
  45. Console.WriteLine(e.TargetSite);
  46. Console.WriteLine(e.Message);
  47. }
  48. }
  49. static void Draw()
  50. {
  51. try
  52. {
  53. SldWorks.SldWorks swApp = new SldWorks.SldWorksClass();
  54. SldWorks.ModelDoc2 swDoc = swApp.IActiveDoc2;
  55. //swDoc.ActivateFeatureMgrView
  56. swDoc.ClearSelection2(true);
  57. swDoc.Insert3DSketch();
  58. swDoc.ClearSelection2(true);
  59. swDoc.SketchSpline(-1,0,0,0);
  60. for(int j=0;j<140;j++)
  61. {
  62. swDoc.SketchSpline(139-j,
  63. 0,
  64. System.Convert.ToDouble(zb[j][1])/1000,
  65. System.Convert.ToDouble(zb[j][0])/1000
  66. );
  67. }
  68. swDoc.ClearSelection2(true);
  69. swDoc.InsertSketch2( true);
  70. swDoc.ClearSelection2(true);
  71. swDoc.Insert3DSketch();
  72. swDoc.SketchSpline(-1,0,0,0);
  73. for(int j=0;j<140;j++)
  74. {
  75. swDoc.SketchSpline(139-j,
  76. System.Convert.ToDouble(zb[j][5])/1000,
  77. System.Convert.ToDouble(zb[j][4])/1000,
  78. System.Convert.ToDouble(zb[j][3])/1000
  79. );
  80. }
  81. swDoc.ClearSelection2(true);
  82. swDoc.InsertSketch2( true);
  83. swDoc.ClearSelection2(true);
  84. swDoc.Insert3DSketch();
  85. swDoc.SketchSpline(-1,0,0,0);
  86. for(int j=0;j<140;j++)
  87. {
  88. swDoc.SketchSpline(139-j,
  89. System.Convert.ToDouble(zb[j][29])/1000,
  90. System.Convert.ToDouble(zb[j][28])/1000,
  91. System.Convert.ToDouble(zb[j][27])/1000
  92. );
  93. }
  94. swDoc.ClearSelection2(true);
  95. swDoc.InsertSketch2(true);
  96. for(int j=0;j<140;j=j+10)
  97. {
  98. swDoc.ClearSelection2(true);
  99. swDoc.Insert3DSketch();
  100. swDoc.SketchSpline(-1,0,0,0);
  101. int id=8;
  102. for(int n=0;n<10;n++)
  103. {
  104. swDoc.SketchSpline(9-n,
  105. System.Convert.ToDouble(zb[j][n*3+2])/1000,
  106. System.Convert.ToDouble(zb[j][n*3+1])/1000,
  107. System.Convert.ToDouble(zb[j][n*3])/1000
  108. );
  109. }
  110. swDoc.ClearSelection2(true);
  111. swDoc.InsertSketch2(true);
  112. }
  113. }
  114. catch(Exception e)
  115. {
  116. Console.WriteLine("The file could not be read:");
  117. Console.WriteLine(e.Source);
  118. Console.WriteLine(e.TargetSite);
  119. Console.WriteLine(e.Message);
  120. }
  121. }
  122. }
  123. }
复制代码
发表于 2006-8-15 20:36:27 | 显示全部楼层

利用C#编程在SolidWorks下绘制螺旋桨叶片

能把编译过后的发上来吗??
 楼主| 发表于 2006-8-15 22:32:34 | 显示全部楼层

利用C#编程在SolidWorks下绘制螺旋桨叶片

还有一个计算坐标点的EXCEL文件要找找,等找到了之后一起打包传上来吧。
发表于 2006-11-13 18:39:32 | 显示全部楼层

利用C#编程在SolidWorks下绘制螺旋桨叶片

下面引用由战鹰2006/08/05 01:19am 发表的内容:
很久以前的一个程序,看到有朋友问SW画涡轮叶片的问题就找了出来,今天先贴个制作完成的图,明天开始贴过程和源代码。
图中只有靠外侧部分的叶片是由C&#35;程序绘制,其余部分(创建实体,中间的圆柱体桨毂,以 ...
发表于 2006-11-28 19:46:41 | 显示全部楼层

利用C#编程在SolidWorks下绘制螺旋桨叶片

好东西,期待!
发表于 2006-12-26 09:05:09 | 显示全部楼层

利用C#编程在SolidWorks下绘制螺旋桨叶片

楼上的太强了吧?
是solidworks公司的工程师吗?
发表于 2007-1-21 10:01:21 | 显示全部楼层

利用C#编程在SolidWorks下绘制螺旋桨叶片

请问战鹰SldWorks类是C&#35;中自带的还是你自己创建的类!!!如看到此贴请回帖,不胜感激,急需。
发表于 2007-11-23 10:01:26 | 显示全部楼层

利用C#编程在SolidWorks下绘制螺旋桨叶片

真的是猛东西啊
发表于 2008-5-4 12:34:27 | 显示全部楼层

利用C#编程在SolidWorks下绘制螺旋桨叶片

不错
发表于 2010-1-19 12:00:54 | 显示全部楼层
"桨毂和桨叶之间的过渡"

看不到图片
发表于 2011-3-25 18:33:50 | 显示全部楼层
不是要打包么 没看到东西
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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