Advertisement
Guest User

Untitled

a guest
Mar 28th, 2019
2,375
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.49 KB | None | 0 0
  1. from win32com.client import Dispatch, GetActiveObject, gencache, constants
  2.  
  3. try:
  4. invApp = GetActiveObject('Inventor.Application')
  5. except:
  6. invApp = Dispatch('Inventor.Application')
  7. invApp.Visible = True
  8.  
  9. mod = gencache.EnsureModule('{D98A091D-3A0F-4C3E-B36E-61F62068D488}', 0, 1, 0)
  10. invApp = mod.Application(invApp)
  11. # invApp.SilentOperation = True
  12.  
  13. # Create a new part
  14. invDoc = invApp.Documents.Add(constants.kPartDocumentObject, "", True)
  15.  
  16. # Casting Document to PartDocument
  17. invPartDoc = mod.PartDocument(invDoc)
  18.  
  19. compdef = invPartDoc.ComponentDefinition
  20.  
  21. # Create a sketch
  22. xyPlane = compdef.WorkPlanes.Item(3)
  23. sketch = compdef.Sketches.Add(xyPlane)
  24.  
  25. # Set Geometry variables
  26. tg = invApp.TransientGeometry
  27. lines = sketch.SketchLines
  28.  
  29. # Draw Triangle
  30. line1 = lines.AddByTwoPoints(tg.CreatePoint2d(0, 0), tg.CreatePoint2d(4, 0))
  31. line2 = lines.AddByTwoPoints(line1.EndSketchPoint, tg.CreatePoint2d(4, 3))
  32. line3 = lines.AddByTwoPoints(line2.EndSketchPoint, line1.StartSketchPoint)
  33.  
  34.  
  35. # Draw slotted hole
  36. # Create the sketch points.
  37. points = sketch.SketchPoints
  38. arcs = sketch.SketchArcs
  39. pointArray = []
  40. pointArray.append(points.Add(tg.CreatePoint2d(0, 1), False))
  41. pointArray.append(points.Add(tg.CreatePoint2d(0, 0), False))
  42. pointArray.append(points.Add(tg.CreatePoint2d(0, -1), False))
  43. pointArray.append(points.Add(tg.CreatePoint2d(4, -1), False))
  44. pointArray.append(points.Add(tg.CreatePoint2d(4, 0), False))
  45. pointArray.append(points.Add(tg.CreatePoint2d(4, 1), False))
  46. # Draw the geometry.
  47. arc1 = arcs.AddByCenterStartEndPoint(
  48. pointArray[1], pointArray[0], pointArray[2])
  49. line1 = lines.AddByTwoPoints(pointArray[2], pointArray[3])
  50. arc2 = arcs.AddByCenterStartEndPoint(
  51. pointArray[4], pointArray[3], pointArray[5])
  52. line2 = lines.AddByTwoPoints(pointArray[5], pointArray[0])
  53.  
  54. # Draw Rectangle
  55. rectangle = lines.AddAsTwoPointRectangle(
  56. tg.CreatePoint2d(0, 0), tg.CreatePoint2d(4, 3))
  57.  
  58. # Extrude
  59. profile = sketch.Profiles.AddForSolid()
  60. extrudeDef = compdef.Features.ExtrudeFeatures.CreateExtrudeDefinition(
  61. profile, constants.kJoinOperation)
  62. extrudeDef.SetDistanceExtent(1, constants.kNegativeExtentDirection)
  63. extrude = compdef.Features.ExtrudeFeatures.Add(extrudeDef)
  64.  
  65. # Close Document and Inventor
  66. # invPartDoc.Close(SkipSave=True)
  67. # invApp.Quit()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement