版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
FreeCAD:FreeCAD运动仿真与分析教程1FreeCAD基础介绍1.1FreeCAD软件概述FreeCAD是一个开源的3D参数化建模软件,它允许用户设计和修改复杂的3D模型。FreeCAD的主要特点在于其参数化设计能力,这意味着用户可以基于参数(如尺寸、角度等)来创建和修改模型,而不仅仅是通过直接编辑模型的几何形状。这种设计方式使得模型的修改和迭代变得非常容易,因为只需更改参数,模型就会自动更新。FreeCAD支持多种3D建模技术,包括线框、表面和实体建模。它还提供了高级功能,如逆向工程、运动仿真、有限元分析等,使其成为一个强大的CAD/CAM/CAE工具。FreeCAD的用户界面可以高度定制,以适应不同用户的需求和工作流程。1.1.1安装FreeCAD在大多数Linux发行版中,可以通过包管理器安装FreeCAD。例如,在Ubuntu上,可以使用以下命令:sudoapt-getupdate
sudoapt-getinstallfreecad对于Windows和macOS,可以从FreeCAD官方网站下载安装程序。1.2FreeCAD界面与工具栏启动FreeCAD后,用户将看到一个包含多个面板的界面:3D视图:这是主要的视图区域,用于显示和操作3D模型。模型树:显示当前项目中的所有对象和它们的参数。属性编辑器:用于编辑选定对象的属性。任务面板:在执行特定任务时出现,如草图绘制或运动仿真设置。Python控制台:允许用户使用Python脚本来控制FreeCAD。工具栏通常位于界面的顶部,包含用于创建和编辑模型的常用工具。用户可以通过“视图”菜单中的“工具栏”选项来显示或隐藏不同的工具栏。1.3基本建模操作FreeCAD的基本建模操作包括创建、编辑和修改3D对象。以下是一些基本的建模步骤:1.3.1创建一个立方体打开FreeCAD。选择“Part”菜单中的“创建立方体”。在弹出的对话框中,可以设置立方体的尺寸和位置。点击“确定”创建立方体。在Python控制台中,可以使用以下代码创建一个立方体:importFreeCAD,Part
doc=FreeCAD.newDocument()
box=doc.addObject("Part::Box","MyBox")
box.Length=10
box.Width=10
box.Height=101.3.2编辑一个立方体编辑立方体的尺寸或位置,可以通过在模型树中选择立方体,然后在属性编辑器中修改其属性来完成。在Python控制台中,可以使用以下代码修改立方体的尺寸:box.Length=20
box.Width=20
box.Height=201.3.3创建一个圆柱体选择“Part”菜单中的“创建圆柱体”。在弹出的对话框中,可以设置圆柱体的半径、高度和位置。点击“确定”创建圆柱体。在Python控制台中,可以使用以下代码创建一个圆柱体:cylinder=doc.addObject("Part::Cylinder","MyCylinder")
cylinder.Radius=5
cylinder.Height=101.3.4创建一个球体选择“Part”菜单中的“创建球体”。在弹出的对话框中,可以设置球体的半径和位置。点击“确定”创建球体。在Python控制台中,可以使用以下代码创建一个球体:sphere=doc.addObject("Part::Sphere","MySphere")
sphere.Radius=51.3.5创建一个草图选择“Sketcher”工作台。选择“创建草图”工具。在弹出的对话框中,选择一个平面作为草图的基面。开始绘制草图,可以使用各种工具,如直线、圆、矩形等。完成草图后,退出草图编辑模式。在Python控制台中,可以使用以下代码创建一个草图:importSketcher
doc=FreeCAD.newDocument()
sketch=doc.addObject('Sketcher::SketchObject','MySketch')
sketch.MapMode='FlatFace'
sketch.Support=[(doc.getObject('XY_Plane'),'')]
sketch.addGeometry(Part.LineSegment(FreeCAD.Vector(0,0,0),FreeCAD.Vector(10,0,0)))
sketch.addGeometry(Part.LineSegment(FreeCAD.Vector(10,0,0),FreeCAD.Vector(10,10,0)))
sketch.addGeometry(Part.LineSegment(FreeCAD.Vector(10,10,0),FreeCAD.Vector(0,10,0)))
sketch.addGeometry(Part.LineSegment(FreeCAD.Vector(0,10,0),FreeCAD.Vector(0,0,0)))
sketch.addConstraint(Sketcher.Constraint('Coincident',0,2,1,1))
sketch.addConstraint(Sketcher.Constraint('Coincident',1,2,2,1))
sketch.addConstraint(Sketcher.Constraint('Coincident',2,2,3,1))
sketch.addConstraint(Sketcher.Constraint('Coincident',3,2,0,1))
sketch.addConstraint(Sketcher.Constraint('Horizontal',0))
sketch.addConstraint(Sketcher.Constraint('Horizontal',2))
sketch.addConstraint(Sketcher.Constraint('Vertical',1))
sketch.addConstraint(Sketcher.Constraint('Vertical',3))
sketch.addConstraint(Sketcher.Constraint('DistanceX',0,1,1,1,10))
sketch.addConstraint(Sketcher.Constraint('DistanceY',1,1,2,1,10))这段代码创建了一个10x10的矩形草图。1.3.6从草图创建实体一旦草图完成,可以使用“Part”工作台中的工具将其转换为3D实体。例如,可以使用“拉伸”工具将草图沿一个方向拉伸,创建一个实体。在Python控制台中,可以使用以下代码从草图创建一个实体:importPart
doc=FreeCAD.newDocument()
sketch=doc.addObject('Sketcher::SketchObject','MySketch')
#创建草图的代码...
solid=doc.addObject('Part::Feature','MySolid')
solid.Shape=Part.makeBox(10,10,10)
doc.recompute()请注意,上述代码中的Part.makeBox函数用于创建一个立方体实体,而不是从草图拉伸。要从草图拉伸,可以使用Part.makeExtrusion函数。1.3.7结论FreeCAD是一个功能强大的3D建模软件,提供了丰富的工具和PythonAPI,使得用户可以使用图形界面或编程方式来创建和编辑复杂的3D模型。通过掌握基本的建模操作,用户可以开始探索FreeCAD的高级功能,如运动仿真和有限元分析。请注意,上述教程中包含了创建和编辑3D模型的基本操作,但并未涉及运动仿真与分析,因为根据您的要求,这部分内容不应包含在内。如果您需要关于运动仿真与分析的教程,可以单独提供。2运动仿真准备2.1创建运动仿真环境在开始运动仿真之前,首先需要在FreeCAD中创建一个适合进行仿真的环境。这通常涉及到选择正确的工作台,设置仿真参数,以及确保所有必要的插件或模块都已安装。2.1.1步骤1:选择工作台FreeCAD提供了多个工作台,其中“Robot”工作台特别适合进行运动仿真。确保你已经切换到“Robot”工作台,可以通过菜单栏的“切换工作台”选项来实现。2.1.2步骤2:安装必要的插件如果“Robot”工作台尚未安装,可以通过插件管理器进行安装。在FreeCAD中,选择“工具”>“插件管理器”,然后在列表中找到“Robot”并安装。2.1.3步骤3:设置仿真参数在“Robot”工作台中,可以通过“仿真”菜单来设置仿真参数,包括仿真时间、时间步长、重力等。这些参数将直接影响仿真的准确性和性能。2.2导入与准备模型一旦环境准备就绪,接下来的步骤是导入你想要仿真的模型,并对其进行必要的准备。2.2.1步骤1:导入模型FreeCAD支持多种文件格式,包括STEP、IGES、STL等。使用“文件”>“导入”来导入你的模型。确保模型的坐标系与FreeCAD的坐标系一致,以避免后续的定位问题。2.2.2步骤2:检查模型导入模型后,检查模型是否有任何问题,如重叠的面、未封闭的实体等。这些问题可能会影响仿真的准确性。可以使用“检查模型”工具来帮助识别这些问题。2.2.3步骤3:模型分割如果模型由多个部分组成,可能需要将它们分割成单独的对象,以便为每个部分定义不同的运动。使用“分割”工具,选择模型中的特定面或实体进行分割。2.3定义运动约束定义运动约束是运动仿真的关键步骤。这涉及到为模型的各个部分指定它们如何移动,以及它们之间的相互作用。2.3.1步骤1:选择运动类型FreeCAD允许定义多种类型的运动,包括旋转、平移、关节运动等。根据你的仿真需求,选择合适的运动类型。2.3.2步骤2:应用运动约束选择模型中的一个或多个对象,然后在“Robot”工作台中选择相应的运动约束。例如,要定义一个旋转运动,可以使用“旋转运动”工具,并指定旋转轴和角度。示例代码:定义旋转运动#导入FreeCAD和Robot模块
importFreeCAD
importRobot
#创建一个新的文档
doc=FreeCAD.newDocument("MyRobot")
#导入模型
Robot.insert(u"C:\\Temp\\robot.step","MyRobot")
#选择模型中的一个对象
obj=doc.getObject("Link1")
#定义旋转运动
motion=Robot.RobotObject()
motion.setPlacement(obj.Placement)
motion.setJointType(Robot.JointType.Revolute)
motion.setJointAxis(FreeCAD.Vector(0,0,1))
motion.setJointLimits(-180,180)
#将运动应用到对象
obj.RobotObject=motion2.3.3步骤3:设置运动参数对于每种运动类型,都需要设置特定的参数。例如,对于旋转运动,需要指定旋转轴和旋转角度;对于平移运动,需要指定移动方向和距离。2.3.4步骤4:检查运动约束在应用运动约束后,使用“检查运动”工具来验证运动是否按预期进行。这可以帮助你识别并修正任何潜在的问题。通过以上步骤,你可以在FreeCAD中为你的模型创建一个运动仿真环境,导入并准备模型,以及定义运动约束。这将为进行详细的运动分析和仿真提供坚实的基础。3运动仿真设置3.1设置运动驱动在FreeCAD中,运动仿真依赖于运动驱动的设置。运动驱动定义了零件的运动方式,包括旋转、平移等。要设置运动驱动,首先需要在你的FreeCAD项目中选择一个或多个零件,然后通过运动工作台(MotionWorkbench)来添加驱动。3.1.1示例:设置旋转驱动假设我们有一个名为motor_shaft的零件,我们想要模拟它以每分钟1000转的速度旋转。#导入运动工作台模块
importMotion
#创建一个旋转驱动
rotary_drive=Motion.Drive()
rotary_drive.Name="MotorDrive"
rotary_drive.Type="Rotary"
rotary_drive.Speed=1000#RPM
#将驱动应用到零件上
motor_shaft=FreeCAD.ActiveDocument.getObject("motor_shaft")
motor_shaft.MotionDrive=rotary_drive3.2调整仿真参数FreeCAD的运动仿真参数可以通过运动工作台的设置对话框进行调整,包括仿真时间、时间步长、重力等。这些参数对于确保仿真结果的准确性和稳定性至关重要。3.2.1示例:调整时间步长和仿真时间假设我们想要将仿真时间设置为10秒,时间步长设置为0.01秒。#导入运动仿真模块
importMotion.Simulation
#设置仿真参数
simulation=Motion.Simulation.getSimulation()
simulation.Time=10#秒
simulation.TimeStep=0.01#秒3.3运行与控制仿真一旦设置了驱动和仿真参数,你就可以运行仿真了。FreeCAD提供了几种运行仿真的方式,包括单步运行、连续运行和运行到特定时间点。3.3.1示例:运行仿真并单步执行#导入运动仿真模块
importMotion.Simulation
#获取当前仿真
simulation=Motion.Simulation.getSimulation()
#运行仿真
simulation.start()
#单步执行
simulation.step()
#停止仿真
simulation.stop()3.3.2示例:连续运行仿真到特定时间点#导入运动仿真模块
importMotion.Simulation
#获取当前仿真
simulation=Motion.Simulation.getSimulation()
#运行仿真到5秒
simulation.runTo(5)以上示例展示了如何在FreeCAD中设置运动驱动、调整仿真参数以及运行和控制仿真。通过这些步骤,你可以开始对机械系统进行运动仿真,以分析其动态行为和性能。请注意,上述代码示例和说明基于FreeCAD的运动工作台功能,该功能可能在不同版本的FreeCAD中有所变化。在实际操作中,建议参考FreeCAD的官方文档或社区论坛以获取最新信息。4运动分析技术4.1分析运动轨迹在进行运动分析时,分析运动轨迹是基础且关键的一步。这涉及到记录和理解物体在三维空间中的移动路径。FreeCAD提供了强大的工具来帮助用户分析和可视化这些轨迹。4.1.1示例:分析机械臂的运动轨迹假设我们有一个简单的机械臂模型,由多个连杆组成,我们想要分析其末端执行器的运动轨迹。首先,我们需要在FreeCAD中创建机械臂的模型,并定义其运动学参数。#导入FreeCAD和运动模块
importFreeCAD
importFreeCAD_Motion
#创建机械臂模型
arm=FreeCAD.ActiveDocument.addObject("Part::Box","Arm1")
arm.Length=100
arm.Width=100
arm.Height=500
#定义运动学参数
motion_params={
"Arm1":{
"type":"revolute",#定义关节类型为旋转
"axis":(0,0,1),#定义旋转轴
"angle":90#定义旋转角度
}
}
#应用运动学参数
FreeCAD_Motion.applyKinematics(motion_params)
#计算并记录运动轨迹
trajectory=FreeCAD_Motion.analyzeTrajectory("Arm1")在上述代码中,我们首先创建了一个机械臂的模型,然后定义了其运动学参数,包括关节类型、旋转轴和旋转角度。通过调用FreeCAD_Motion.applyKinematics函数,我们可以将这些参数应用到模型上,模拟机械臂的运动。最后,FreeCAD_Motion.analyzeTrajectory函数用于计算并记录机械臂末端执行器的运动轨迹。4.2计算运动学指标运动学指标包括速度、加速度、角速度等,这些指标对于理解物体的运动特性至关重要。在FreeCAD中,我们可以利用其内置的物理引擎来计算这些指标。4.2.1示例:计算机械臂末端执行器的速度和加速度继续使用上述机械臂模型,我们想要计算其末端执行器在运动过程中的速度和加速度。#计算速度和加速度
velocity=FreeCAD_Motion.calculateVelocity("Arm1")
acceleration=FreeCAD_Motion.calculateAcceleration("Arm1")
#输出结果
print("Velocity:",velocity)
print("Acceleration:",acceleration)在本例中,我们使用FreeCAD_Motion.calculateVelocity和FreeCAD_Motion.calculateAcceleration函数来计算机械臂末端执行器的速度和加速度。这些函数会根据模型的运动轨迹和时间参数来计算相应的运动学指标。4.3导出分析数据分析数据的导出是运动分析的最后一步,它允许我们将计算出的指标和轨迹信息保存为文件,以便进一步的分析或与其他软件共享。4.3.1示例:导出机械臂的运动轨迹和运动学指标#导出运动轨迹和运动学指标
FreeCAD_Motion.exportData("Arm1","trajectory.csv")
FreeCAD_Motion.exportData("Arm1","velocity.csv")
FreeCAD_Motion.exportData("Arm1","acceleration.csv")通过调用FreeCAD_Motion.exportData函数,我们可以将机械臂的运动轨迹、速度和加速度数据分别导出为CSV文件。这些文件可以使用电子表格软件或数据分析工具进行进一步的处理和可视化。以上示例展示了如何在FreeCAD中进行运动轨迹的分析、计算运动学指标以及导出分析数据。通过这些步骤,我们可以深入理解机械系统的运动特性,为设计和优化提供数据支持。5高级运动仿真5.1多体动力学仿真多体动力学仿真在FreeCAD中是一个强大的功能,允许用户模拟复杂的机械系统在真实环境中的运动。这包括考虑重力、摩擦、弹簧力、阻尼力等物理因素,以及不同部件之间的接触和约束。FreeCAD通过其运动工作台(MotionWorkbench)提供了这一功能,该工作台基于开源物理引擎,如Chrono::Engine。5.1.1示例:模拟一个简单的机械臂假设我们有一个由三个连杆组成的机械臂,每个连杆之间通过铰链连接。我们想要模拟这个机械臂在重力作用下的运动,同时考虑连杆之间的碰撞。#导入FreeCAD和运动工作台模块
importFreeCAD
importFreeCAD_Motion
#创建一个新的FreeCAD文档
doc=FreeCAD.newDocument("MechanicalArmSimulation")
#创建连杆和铰链
link1=doc.addObject("Part::Box","Link1")
link1.Length=100
link1.Width=10
link1.Height=10
link2=doc.addObject("Part::Box","Link2")
link2.Length=100
link2.Width=10
link2.Height=10
link3=doc.addObject("Part::Box","Link3")
link3.Length=100
link3.Width=10
link3.Height=10
hinge1=doc.addObject("Part::Box","Hinge1")
hinge1.Length=10
hinge1.Width=10
hinge1.Height=10
hinge2=doc.addObject("Part::Box","Hinge2")
hinge2.Length=10
hinge2.Width=10
hinge2.Height=10
#设置连杆和铰链的位置
link1.Placement.Base=(0,0,0)
hinge1.Placement.Base=(100,0,0)
link2.Placement.Base=(110,0,0)
hinge2.Placement.Base=(210,0,0)
link3.Placement.Base=(220,0,0)
#创建运动仿真
motion=FreeCAD_Motion.Motion(doc)
motion.addObject(link1)
motion.addObject(hinge1)
motion.addObject(link2)
motion.addObject(hinge2)
motion.addObject(link3)
#设置铰链为旋转关节
hinge1.RotationAxis=(0,0,1)
hinge2.RotationAxis=(0,0,1)
#设置重力
motion.Gravity=(0,-9.81,0)
#运行仿真
motion.runSimulation(10)#模拟10秒在这个例子中,我们首先创建了一个包含连杆和铰链的FreeCAD文档。然后,我们使用运动工作台模块创建了一个运动仿真,并将所有对象添加到仿真中。我们设置了铰链为旋转关节,并定义了重力方向。最后,我们运行了仿真,观察机械臂在重力作用下的运动。5.2碰撞检测与响应在多体动力学仿真中,碰撞检测与响应是确保仿真准确性的关键。FreeCAD能够检测不同物体之间的碰撞,并根据预设的物理属性(如弹性、摩擦系数)来计算碰撞后的响应。5.2.1示例:模拟两个球体的碰撞假设我们有两个球体,它们将在重力作用下自由下落并相互碰撞。我们想要观察碰撞后球体的运动。#创建球体
sphere1=doc.addObject("Part::Sphere","Sphere1")
sphere1.Radius=50
sphere2=doc.addObject("Part::Sphere","Sphere2")
sphere2.Radius=50
#设置球体的位置
sphere1.Placement.Base=(0,0,100)
sphere2.Placement.Base=(0,0,200)
#添加球体到运动仿真
motion.addObject(sphere1)
motion.addObject(sphere2)
#设置球体的物理属性
sphere1.Mass=10
sphere1.Elasticity=0.5
sphere1.Friction=0.2
sphere2.Mass=10
sphere2.Elasticity=0.5
sphere2.Friction=0.2
#设置重力
motion.Gravity=(0,-9.81,0)
#运行仿真
motion.runSimulation(10)#模拟10秒在这个例子中,我们创建了两个球体,并将它们添加到运动仿真中。我们设置了球体的物理属性,包括质量、弹性和摩擦系数。然后,我们运行了仿真,观察球体在重力作用下自由下落并相互碰撞后的运动。5.3使用Python脚本自定义仿真FreeCAD的运动工作台允许用户通过Python脚本来自定义仿真过程,包括设置初始条件、定义物理属性、控制仿真步骤等。这为高级用户提供了极大的灵活性和控制力。5.3.1示例:自定义一个带有控制逻辑的机械臂仿真假设我们想要控制机械臂的运动,使其在仿真过程中执行特定的任务。我们可以通过Python脚本来实现这一目标。#设置铰链的旋转角度
defsetHingeRotation(hinge,angle):
hinge.Rotation=(0,0,angle)
#控制逻辑
fortinrange(0,10):
ift<5:
setHingeRotation(hinge1,t*10)
setHingeRotation(hinge2,t*5)
else:
setHingeRotation(hinge1,50-(t-5)*10)
setHingeRotation(hinge2,25-(t-5)*5)
#更新仿真
motion.updateSimulation(t)
#运行仿真
motion.runSimulation(10)#模拟10秒在这个例子中,我们定义了一个函数setHingeRotation来设置铰链的旋转角度。然后,我们使用一个循环来控制铰链的旋转,使其在前5秒内逐渐增加旋转角度,后5秒内逐渐减少旋转角度。我们通过调用motion.updateSimulation来更新仿真状态,确保控制逻辑正确地应用于仿真过程。通过这些示例,我们可以看到FreeCAD的运动工作台如何提供高级的运动仿真功能,包括多体动力学仿真、碰撞检测与响应,以及使用Python脚本自定义仿真过程。这些功能对于设计和分析复杂的机械系统非常有用。6案例研究与实践6.1机械臂运动仿真在机械设计领域,机械臂的运动仿真是一项关键任务,它帮助工程师预测机械臂在不同工作条件下的行为。FreeCAD提供了强大的工具来实现这一目标,通过其运动仿真模块,可以精确地模拟机械臂的运动轨迹和动力学特性。6.1.1原理机械臂的运动仿真基于运动学和动力学原理。运动学主要关注机械臂各关节的位置、速度和加速度,而不考虑力和力矩的影响。动力学则进一步考虑了机械臂的重量、惯性以及外部力的作用,以更真实地模拟其运动。6.1.2内容定义机械臂结构:在FreeCAD中,首先需要使用Part和Sketcher模块来创建机械臂的几何模型。这包括定义各关节的连接点和机械臂的各个部分。设置运动参数:使用FreeCAD的运动仿真模块,可以为机械臂的每个关节定义运动参数,如旋转角度、速度和加速度。这些参数可以通过时间函数来控制,实现复杂的运动轨迹。运行仿真:设置好参数后,可以运行仿真,观察机械臂的运动。FreeCAD的运动仿真模块提供了实时动画和轨迹记录功能,帮助分析机械臂的运动特性。6.1.3示例假设我们有一个简单的两关节机械臂,我们想要模拟其在时间t=0到t=10秒内的运动,其中第一个关节以恒定速度旋转,第二个关节根据第一个关节的位置进行调整。importFreeCAD,FreeCADGui,Part,Draft,App
#创建机械臂的几何模型
doc=FreeCAD.newDocument("MechanicalArm")
base=Draft.makeBox(100,100,10,doc=doc)
link1=Draft.makeBox(100,10,10,doc=doc)
link2=Draft.makeBox(100,10,10,doc=doc)
#设置关节连接点
joint1=App.Vector(0,0,0)
joint2=App.Vector(100,0,0)
#移动链接到关节位置
link1.Placement.Base=joint1
link2.Placement.Base=joint2
#定义运动参数
fromFreeCADimportMotion
motion1=Motion.Motion()
motion1.Type='Rotation'
motion1.Axis=App.Vector(0,0,1)
motion1.Angle=360*t/10#360度/10秒
motion2=Motion.Motion()
motion2.Type='Rotation'
motion2.Axis=App.Vector(0,0,1)
motion2.Angle=180*(link1.Placement.Rotation.Angle/360)#根据link1的角度调整
#将运动参数应用到关节
link1.ViewObject.Proxy=motion1
link2.ViewObject.Proxy=motion2
#运行仿真
FreeCADGui.runCommand('Std_Animate',0)在上述代码中,我们首先创建了机械臂的几何模型,然后定义了两个关节的运动参数。第一个关节以恒定速度旋转,而第二个关节的旋转角度则根据第一个关节的位置动态调整。最后,我们使用FreeCAD的动画功能来运行仿真。6.2车辆悬挂系统分析车辆悬挂系统的分析对于确保车辆的稳定性和舒适性至关重要。FreeCAD的运动仿真模块可以用来模拟悬挂系统的动态行为,评估其在不同路况下的性能。6.2.1原理悬挂系统分析通常涉及多体动力学,考虑车辆在行驶过程中遇到的路面不平、车辆负载变化等因素。FreeCAD的运动仿真模块通过定义悬挂系统的几何和物理属性,以及外部力的作用,来模拟这些条件下的系统响应。6.2.2内容建立悬挂系统模型:使用FreeCAD的Part和Sketcher模块来创建悬挂系统的各个部件,如弹簧、减震器和连杆。定义物理属性:为每个部件定义物理属性,如质量、刚度和阻尼系数。设置外部力:模拟车辆在行驶过程中遇到的力,如路面冲击力和车辆负载。运行仿真:使用FreeCAD的运动仿真模块来运行仿真,分析悬挂系统的动态响应。6.2.3示例假设我们想要分析一个简单的车辆悬挂系统,该系统由一个弹簧和一个减震器组成,车辆在遇到一个高度为10cm的障碍物时的响应。importFreeCAD,FreeCADGui,Part,Draft,App
#创建悬挂系统模型
doc=FreeCAD.newDocument("VehicleSuspension")
spring=Draft.makeCylinder(5,100,doc=doc)
damper=Draft.makeCylinder(5,100,doc
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 农村公路改造招投标案例分析
- 2020-2021学年广东省九年级物理(人教版)期末专题复习:第15章《电流和电路》 练习
- 中南林业科技大学《VisualBasic》2022-2023学年期末试卷
- 中南大学《功能材料概论》2023-2024学年第一学期期末试卷
- 中南大学《工程材料概论》2021-2022学年第一学期期末试卷
- 宫腔镜治疗新进展
- 2023级心理健康教育学习通超星期末考试答案章节答案2024年
- 下肢外固定架的护理
- 中国劳动关系学院《电影视听语言》2021-2022学年期末试卷
- 中国劳动关系学院《安全人机工程学》2022-2023学年第一学期期末试卷
- GB/T 26121-2010可曲挠橡胶接头
- GB/T 25497-2010吸气剂气体吸放性能测试方法
- 城市绿地系统规划 第9章 工业绿地规划
- 高中思想政治课选择性必修2《法律与生活》教材使用建议与典型课例研究课件
- 数学的发展历史课件
- 外来人员入厂安全告知书
- DB22-T 5036-2020建设工程项目招标投标活动程序标准-(高清正版)
- 工程监理聘用合同(一)
- 写作指导:顺叙倒叙插叙课件
- 小学综合实践活动《息技术-4网络信息辨真伪》优质课件-26
- 四大行当生旦净丑京剧课件
评论
0/150
提交评论