simplecadapi 2.0.0b4__tar.gz → 2.0.1b1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (229) hide show
  1. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/PKG-INFO +9 -2
  2. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/README.md +8 -1
  3. simplecadapi-2.0.1b1/docs/api/Assembly.md +17 -0
  4. simplecadapi-2.0.1b1/docs/api/BSplineFitResult.md +21 -0
  5. simplecadapi-2.0.1b1/docs/api/Component.md +17 -0
  6. simplecadapi-2.0.1b1/docs/api/Connector.md +20 -0
  7. simplecadapi-2.0.1b1/docs/api/ConnectorRef.md +17 -0
  8. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/docs/api/Const.md +1 -1
  9. simplecadapi-2.0.1b1/docs/api/Constraint.md +17 -0
  10. simplecadapi-2.0.1b1/docs/api/ConstraintReport.md +17 -0
  11. simplecadapi-2.0.1b1/docs/api/ConstraintResidual.md +17 -0
  12. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/docs/api/Expr.md +1 -1
  13. simplecadapi-2.0.1b1/docs/api/GeometryRef.md +22 -0
  14. simplecadapi-2.0.1b1/docs/api/Material.md +17 -0
  15. simplecadapi-2.0.1b1/docs/api/Part.md +17 -0
  16. simplecadapi-2.0.1b1/docs/api/Placement.md +17 -0
  17. simplecadapi-2.0.1b1/docs/api/README.md +203 -0
  18. simplecadapi-2.0.1b1/docs/api/ScalarLimit.md +17 -0
  19. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/docs/api/SemanticDelta.md +1 -1
  20. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/docs/api/SemanticRef.md +1 -1
  21. simplecadapi-2.0.1b1/docs/api/Sketch.md +24 -0
  22. simplecadapi-2.0.1b1/docs/api/SketchConstraint.md +17 -0
  23. simplecadapi-2.0.1b1/docs/api/SketchConstraintDiagnostic.md +17 -0
  24. simplecadapi-2.0.1b1/docs/api/SketchRef.md +17 -0
  25. simplecadapi-2.0.1b1/docs/api/SketchSolveResult.md +17 -0
  26. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/docs/api/Var.md +1 -1
  27. simplecadapi-2.0.1b1/docs/api/add_circle_rsketch.md +17 -0
  28. simplecadapi-2.0.1b1/docs/api/add_component_rassembly.md +17 -0
  29. simplecadapi-2.0.1b1/docs/api/add_connector_rassembly.md +17 -0
  30. simplecadapi-2.0.1b1/docs/api/add_connector_rpart.md +17 -0
  31. simplecadapi-2.0.1b1/docs/api/add_fixed_constraint_rassembly.md +17 -0
  32. simplecadapi-2.0.1b1/docs/api/add_line_rsketch.md +17 -0
  33. simplecadapi-2.0.1b1/docs/api/add_point_rsketch.md +17 -0
  34. simplecadapi-2.0.1b1/docs/api/add_prismatic_constraint_rassembly.md +17 -0
  35. simplecadapi-2.0.1b1/docs/api/add_revolute_constraint_rassembly.md +17 -0
  36. simplecadapi-2.0.1b1/docs/api/assign_material_rpart.md +17 -0
  37. simplecadapi-2.0.1b1/docs/api/constrain_angle_rsketch.md +17 -0
  38. simplecadapi-2.0.1b1/docs/api/constrain_coincident_rsketch.md +17 -0
  39. simplecadapi-2.0.1b1/docs/api/constrain_collinear_rsketch.md +17 -0
  40. simplecadapi-2.0.1b1/docs/api/constrain_concentric_rsketch.md +17 -0
  41. simplecadapi-2.0.1b1/docs/api/constrain_connect_rsketch.md +17 -0
  42. simplecadapi-2.0.1b1/docs/api/constrain_diameter_rsketch.md +17 -0
  43. simplecadapi-2.0.1b1/docs/api/constrain_distance_rsketch.md +17 -0
  44. simplecadapi-2.0.1b1/docs/api/constrain_distance_x_rsketch.md +17 -0
  45. simplecadapi-2.0.1b1/docs/api/constrain_distance_y_rsketch.md +17 -0
  46. simplecadapi-2.0.1b1/docs/api/constrain_equal_length_rsketch.md +17 -0
  47. simplecadapi-2.0.1b1/docs/api/constrain_equal_radius_rsketch.md +17 -0
  48. simplecadapi-2.0.1b1/docs/api/constrain_fix_rsketch.md +17 -0
  49. simplecadapi-2.0.1b1/docs/api/constrain_horizontal_rsketch.md +17 -0
  50. simplecadapi-2.0.1b1/docs/api/constrain_length_rsketch.md +17 -0
  51. simplecadapi-2.0.1b1/docs/api/constrain_midpoint_rsketch.md +17 -0
  52. simplecadapi-2.0.1b1/docs/api/constrain_parallel_rsketch.md +17 -0
  53. simplecadapi-2.0.1b1/docs/api/constrain_perpendicular_rsketch.md +17 -0
  54. simplecadapi-2.0.1b1/docs/api/constrain_point_on_rsketch.md +17 -0
  55. simplecadapi-2.0.1b1/docs/api/constrain_radius_rsketch.md +17 -0
  56. simplecadapi-2.0.1b1/docs/api/constrain_symmetric_rsketch.md +17 -0
  57. simplecadapi-2.0.1b1/docs/api/constrain_tangent_rsketch.md +17 -0
  58. simplecadapi-2.0.1b1/docs/api/constrain_vertical_rsketch.md +17 -0
  59. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/docs/api/export_stl.md +2 -2
  60. simplecadapi-2.0.1b1/docs/api/fit_cubic_bspline_control_points.md +79 -0
  61. simplecadapi-2.0.1b1/docs/api/get_sketch_entity_rsketchref.md +17 -0
  62. simplecadapi-2.0.1b1/docs/api/get_sketch_point_rsketchref.md +17 -0
  63. simplecadapi-2.0.1b1/docs/api/ground_component_rassembly.md +17 -0
  64. simplecadapi-2.0.1b1/docs/api/identity_placement_rplacement.md +17 -0
  65. simplecadapi-2.0.1b1/docs/api/inspect_assembly_constraints_rconstraintreport.md +17 -0
  66. simplecadapi-2.0.1b1/docs/api/inspect_sketch_rsketchresult.md +17 -0
  67. simplecadapi-2.0.1b1/docs/api/make_assembly_rassembly.md +17 -0
  68. simplecadapi-2.0.1b1/docs/api/make_compound_from_assembly_rcompound.md +17 -0
  69. simplecadapi-2.0.1b1/docs/api/make_connector_ref_rconnectorref.md +17 -0
  70. simplecadapi-2.0.1b1/docs/api/make_edge_connector_rconnector.md +20 -0
  71. simplecadapi-2.0.1b1/docs/api/make_face_connector_rconnector.md +20 -0
  72. simplecadapi-2.0.1b1/docs/api/make_face_from_sketch_rface.md +17 -0
  73. simplecadapi-2.0.1b1/docs/api/make_material_rmaterial.md +21 -0
  74. simplecadapi-2.0.1b1/docs/api/make_part_rpart.md +17 -0
  75. simplecadapi-2.0.1b1/docs/api/make_placement_rplacement.md +20 -0
  76. simplecadapi-2.0.1b1/docs/api/make_scalar_limit_rscalarlimit.md +17 -0
  77. simplecadapi-2.0.1b1/docs/api/make_sketch_rsketch.md +20 -0
  78. simplecadapi-2.0.1b1/docs/api/make_spline_redge.md +22 -0
  79. simplecadapi-2.0.1b1/docs/api/make_spline_rwire.md +17 -0
  80. simplecadapi-2.0.1b1/docs/api/make_vertex_connector_rconnector.md +20 -0
  81. simplecadapi-2.0.1b1/docs/api/make_wire_from_sketch_rwire.md +17 -0
  82. simplecadapi-2.0.1b1/docs/api/measure_constraint_residual_rconstraintresidual.md +17 -0
  83. simplecadapi-2.0.1b1/docs/api/place_component_rassembly.md +17 -0
  84. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/docs/api/replay_graph.md +1 -1
  85. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/docs/api/replay_model_json.md +1 -1
  86. simplecadapi-2.0.1b1/docs/api/solve_assembly_constraints_rassembly.md +28 -0
  87. simplecadapi-2.0.1b1/docs/api/translate_model_json_to_fcstd.md +30 -0
  88. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/docs/api/translate_model_json_to_freecad_script.md +6 -0
  89. simplecadapi-2.0.1b1/docs/api/unground_component_rassembly.md +17 -0
  90. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/docs/core/README.md +5 -0
  91. simplecadapi-2.0.1b1/docs/core/compound.md +22 -0
  92. simplecadapi-2.0.1b1/docs/core/declarative_constraints.md +65 -0
  93. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/docs/core/edge.md +4 -2
  94. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/docs/core/operation_graph_json_spec.md +101 -11
  95. simplecadapi-2.0.1b1/docs/core/part_assembly_development_plan.md +448 -0
  96. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/docs/core/rearchitecture_2_0.md +8 -9
  97. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/docs/core/serialization/primitives-and-profiles.md +18 -10
  98. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/docs/core/wire.md +4 -4
  99. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/pyproject.toml +1 -1
  100. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/src/simplecadapi/__init__.py +166 -1
  101. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/src/simplecadapi/auto_tools/auto_docs_gen.py +53 -1
  102. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/src/simplecadapi/core.py +95 -6
  103. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/src/simplecadapi/evolve.py +11 -2
  104. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/src/simplecadapi/expr.py +4 -0
  105. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/src/simplecadapi/freecad_translator.py +1850 -72
  106. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/src/simplecadapi/graph.py +4 -2
  107. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/src/simplecadapi/kernel/ocp_cast.py +7 -0
  108. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/src/simplecadapi/kernel/ocp_curves.py +44 -39
  109. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/src/simplecadapi/kernel/ocp_export.py +6 -0
  110. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/src/simplecadapi/kernel/ocp_features.py +12 -0
  111. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/src/simplecadapi/kernel/ocp_properties.py +100 -26
  112. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/src/simplecadapi/kernel/ocp_transforms.py +29 -1
  113. simplecadapi-2.0.1b1/src/simplecadapi/math.py +574 -0
  114. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/src/simplecadapi/operations.py +4153 -1731
  115. simplecadapi-2.0.1b1/src/simplecadapi/product.py +1317 -0
  116. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/src/simplecadapi/ql.py +14 -2
  117. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/src/simplecadapi/serializer.py +635 -14
  118. simplecadapi-2.0.1b1/src/simplecadapi/sketch.py +1208 -0
  119. simplecadapi-2.0.1b1/src/simplecadapi/std/__init__.py +15 -0
  120. simplecadapi-2.0.1b1/src/simplecadapi/std/gear.py +1076 -0
  121. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/src/simplecadapi/topology.py +5 -1
  122. simplecadapi-2.0.0b4/docs/api/README.md +0 -127
  123. simplecadapi-2.0.0b4/docs/api/Sketch.md +0 -22
  124. simplecadapi-2.0.0b4/docs/api/make_spline_redge.md +0 -17
  125. simplecadapi-2.0.0b4/docs/api/make_spline_rwire.md +0 -17
  126. simplecadapi-2.0.0b4/docs/api/translate_model_json_to_fcstd.md +0 -17
  127. simplecadapi-2.0.0b4/docs/core/compound.md +0 -13
  128. simplecadapi-2.0.0b4/docs/core/declarative_constraints.md +0 -35
  129. simplecadapi-2.0.0b4/src/simplecadapi/kernel/spline_fit.py +0 -33
  130. simplecadapi-2.0.0b4/src/simplecadapi/sketch.py +0 -45
  131. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/.gitignore +0 -0
  132. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/LICENSE +0 -0
  133. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/MANIFEST.in +0 -0
  134. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/docs/api/ExpressionGraph.md +0 -0
  135. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/docs/api/GraphSession.md +0 -0
  136. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/docs/api/SimpleCADError.md +0 -0
  137. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/docs/api/and_.md +0 -0
  138. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/docs/api/apply_tag.md +0 -0
  139. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/docs/api/chamfer_rsolid.md +0 -0
  140. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/docs/api/const_function.md +0 -0
  141. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/docs/api/cut_rsolid.md +0 -0
  142. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/docs/api/export_graph_json.md +0 -0
  143. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/docs/api/export_model_json.md +0 -0
  144. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/docs/api/export_session_json.md +0 -0
  145. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/docs/api/export_step.md +0 -0
  146. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/docs/api/extrude_rsolid.md +0 -0
  147. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/docs/api/fillet_rsolid.md +0 -0
  148. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/docs/api/geo.md +0 -0
  149. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/docs/api/helical_sweep_rsolid.md +0 -0
  150. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/docs/api/import_graph_json.md +0 -0
  151. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/docs/api/import_model_json.md +0 -0
  152. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/docs/api/import_session_json.md +0 -0
  153. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/docs/api/intersect_rsolid.md +0 -0
  154. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/docs/api/linear_pattern_rsolidlist.md +0 -0
  155. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/docs/api/list_tags.md +0 -0
  156. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/docs/api/loft_rsolid.md +0 -0
  157. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/docs/api/make_angle_arc_redge.md +0 -0
  158. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/docs/api/make_angle_arc_rwire.md +0 -0
  159. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/docs/api/make_box_rsolid.md +0 -0
  160. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/docs/api/make_circle_redge.md +0 -0
  161. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/docs/api/make_circle_rface.md +0 -0
  162. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/docs/api/make_circle_rwire.md +0 -0
  163. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/docs/api/make_cone_rsolid.md +0 -0
  164. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/docs/api/make_cylinder_rsolid.md +0 -0
  165. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/docs/api/make_face_from_wire_rface.md +0 -0
  166. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/docs/api/make_helix_redge.md +0 -0
  167. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/docs/api/make_helix_rwire.md +0 -0
  168. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/docs/api/make_line_redge.md +0 -0
  169. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/docs/api/make_n_hole_flange_rsolid.md +0 -0
  170. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/docs/api/make_naca_propeller_blade_rsolid.md +0 -0
  171. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/docs/api/make_point_rvertex.md +0 -0
  172. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/docs/api/make_polyline_rwire.md +0 -0
  173. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/docs/api/make_rectangle_rface.md +0 -0
  174. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/docs/api/make_rectangle_rwire.md +0 -0
  175. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/docs/api/make_segment_redge.md +0 -0
  176. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/docs/api/make_segment_rwire.md +0 -0
  177. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/docs/api/make_sphere_rsolid.md +0 -0
  178. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/docs/api/make_threaded_rod_rsolid.md +0 -0
  179. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/docs/api/make_three_point_arc_redge.md +0 -0
  180. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/docs/api/make_three_point_arc_rwire.md +0 -0
  181. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/docs/api/make_wire_from_edges_rwire.md +0 -0
  182. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/docs/api/meta.md +0 -0
  183. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/docs/api/mirror_shape.md +0 -0
  184. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/docs/api/not_.md +0 -0
  185. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/docs/api/or_.md +0 -0
  186. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/docs/api/radial_pattern_rsolidlist.md +0 -0
  187. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/docs/api/render_screenshot_rpath.md +0 -0
  188. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/docs/api/revolve_rsolid.md +0 -0
  189. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/docs/api/rotate_shape.md +0 -0
  190. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/docs/api/select.md +0 -0
  191. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/docs/api/select_edges_by_tag.md +0 -0
  192. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/docs/api/select_faces_by_tag.md +0 -0
  193. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/docs/api/shell_rsolid.md +0 -0
  194. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/docs/api/suspend_graph_recording.md +0 -0
  195. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/docs/api/sweep_rsolid.md +0 -0
  196. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/docs/api/tag.md +0 -0
  197. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/docs/api/translate_shape.md +0 -0
  198. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/docs/api/union_rsolid.md +0 -0
  199. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/docs/api/value.md +0 -0
  200. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/docs/api/var_function.md +0 -0
  201. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/docs/architecture/sdk-architecture-review.md +0 -0
  202. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/docs/core/coordinate_system.md +0 -0
  203. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/docs/core/face.md +0 -0
  204. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/docs/core/rearchitecture_2_0_requirements.md +0 -0
  205. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/docs/core/serialization/README.md +0 -0
  206. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/docs/core/serialization/expressions-and-replay.md +0 -0
  207. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/docs/core/serialization/features-booleans-transforms.md +0 -0
  208. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/docs/core/serialization/scalar-fields.md +0 -0
  209. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/docs/core/shell.md +0 -0
  210. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/docs/core/simple_workplane.md +0 -0
  211. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/docs/core/solid.md +0 -0
  212. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/docs/core/tagged_mixin.md +0 -0
  213. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/docs/core/vertex.md +0 -0
  214. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/src/simplecadapi/_vendor_warning_filters.py +0 -0
  215. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/src/simplecadapi/auto_tools/__init__.py +0 -0
  216. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/src/simplecadapi/auto_tools/evolution.py +0 -0
  217. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/src/simplecadapi/auto_tools/make_export.py +0 -0
  218. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/src/simplecadapi/auto_tools/skill_pack.py +0 -0
  219. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/src/simplecadapi/autotag.py +0 -0
  220. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/src/simplecadapi/errors.py +0 -0
  221. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/src/simplecadapi/frame.py +0 -0
  222. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/src/simplecadapi/kernel/__init__.py +0 -0
  223. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/src/simplecadapi/kernel/ocp_booleans.py +0 -0
  224. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/src/simplecadapi/kernel/ocp_builders.py +0 -0
  225. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/src/simplecadapi/kernel/ocp_mesh.py +0 -0
  226. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/src/simplecadapi/kernel/ocp_topology.py +0 -0
  227. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/src/simplecadapi/py.typed +0 -0
  228. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/src/simplecadapi/tagging.py +0 -0
  229. {simplecadapi-2.0.0b4 → simplecadapi-2.0.1b1}/src/simplecadapi/tracking.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: simplecadapi
3
- Version: 2.0.0b4
3
+ Version: 2.0.1b1
4
4
  Summary: A simplified OCP-native CAD modeling Python API
5
5
  Project-URL: Homepage, https://github.com/NiJingzhe/SimpleCADAPI
6
6
  Project-URL: Repository, https://github.com/NiJingzhe/SimpleCADAPI
@@ -382,7 +382,7 @@ in a compact public API for creating solids, applying features, tagging semantic
382
382
  intent, querying topology, exporting manufacturing files, and translating recorded
383
383
  models into FreeCAD workflows.
384
384
 
385
- Current beta: `simplecadapi==2.0.0b4`.
385
+ Current beta: `simplecadapi==2.0.1b1`.
386
386
 
387
387
  ## What It Provides
388
388
 
@@ -510,6 +510,10 @@ If FreeCAD or FreeCADCmd is available, the same model JSON can be written as an
510
510
  scad.translate_model_json_to_fcstd(model_json, "bracket.FCStd")
511
511
  ```
512
512
 
513
+ Part/Assembly models are written as editable FreeCAD assembly structure: parts are
514
+ `App::Part`, assemblies are `Assembly::AssemblyObject`, and components are links.
515
+ Explicit compound projections remain available for geometry-only STEP export.
516
+
513
517
  ## Examples
514
518
 
515
519
  Run examples from the source checkout:
@@ -521,6 +525,9 @@ uv run python examples/03_expressions.py
521
525
  uv run python examples/05_loft_sweep_revolve.py
522
526
  uv run python examples/06_parametric_gear_model.py
523
527
  uv run python examples/07_serialization_operation_tree.py
528
+ uv run python examples/08_constrained_sketch.py
529
+ uv run python examples/09_naca0016_blade_freecad.py
530
+ uv run python examples/10_part_assembly.py
524
531
  ```
525
532
 
526
533
  ## Documentation
@@ -6,7 +6,7 @@ in a compact public API for creating solids, applying features, tagging semantic
6
6
  intent, querying topology, exporting manufacturing files, and translating recorded
7
7
  models into FreeCAD workflows.
8
8
 
9
- Current beta: `simplecadapi==2.0.0b4`.
9
+ Current beta: `simplecadapi==2.0.1b1`.
10
10
 
11
11
  ## What It Provides
12
12
 
@@ -134,6 +134,10 @@ If FreeCAD or FreeCADCmd is available, the same model JSON can be written as an
134
134
  scad.translate_model_json_to_fcstd(model_json, "bracket.FCStd")
135
135
  ```
136
136
 
137
+ Part/Assembly models are written as editable FreeCAD assembly structure: parts are
138
+ `App::Part`, assemblies are `Assembly::AssemblyObject`, and components are links.
139
+ Explicit compound projections remain available for geometry-only STEP export.
140
+
137
141
  ## Examples
138
142
 
139
143
  Run examples from the source checkout:
@@ -145,6 +149,9 @@ uv run python examples/03_expressions.py
145
149
  uv run python examples/05_loft_sweep_revolve.py
146
150
  uv run python examples/06_parametric_gear_model.py
147
151
  uv run python examples/07_serialization_operation_tree.py
152
+ uv run python examples/08_constrained_sketch.py
153
+ uv run python examples/09_naca0016_blade_freecad.py
154
+ uv run python examples/10_part_assembly.py
148
155
  ```
149
156
 
150
157
  ## Documentation
@@ -0,0 +1,17 @@
1
+ # Assembly
2
+
3
+ ## Class Definition
4
+
5
+ ```python
6
+ class Assembly(assembly_id: str, name: Optional[str] = None, components: Tuple[Component, ...] = (), connectors: Tuple[Connector, ...] = (), constraints: Tuple[Constraint, ...] = (), grounded_component_ids: Tuple[str, ...] = ())
7
+ ```
8
+
9
+ *Source: product.py*
10
+
11
+ ## Import Surface
12
+
13
+ - top-level: `from simplecadapi import Assembly`
14
+
15
+ ## Description
16
+
17
+ Product structure containing placed Part or subassembly components.
@@ -0,0 +1,21 @@
1
+ # BSplineFitResult
2
+
3
+ ## Class Definition
4
+
5
+ ```python
6
+ class BSplineFitResult(degree: int, control_points: Tuple[PointTuple, ...], knots: Tuple[float, ...], sample_parameters: Tuple[float, ...], max_error: float, rms_error: float, tolerance: float, fairing: float, iterations: int, converged: bool)
7
+ ```
8
+
9
+ *Source: math.py*
10
+
11
+ ## Import Surface
12
+
13
+ - top-level: `from simplecadapi import BSplineFitResult`
14
+
15
+ ## Description
16
+
17
+ Result from fitting a cubic B-spline to sampled curve points.
18
+
19
+ The result stores a complete, normalized B-spline definition suitable for
20
+ passing into the exact B-spline edge/wire APIs: cubic degree, control
21
+ points, and a full clamped knot vector.
@@ -0,0 +1,17 @@
1
+ # Component
2
+
3
+ ## Class Definition
4
+
5
+ ```python
6
+ class Component(component_id: str, item: AssemblyItem, placement: Placement, name: Optional[str] = None)
7
+ ```
8
+
9
+ *Source: product.py*
10
+
11
+ ## Import Surface
12
+
13
+ - top-level: `from simplecadapi import Component`
14
+
15
+ ## Description
16
+
17
+ Assembly-local instance of a Part or subassembly.
@@ -0,0 +1,20 @@
1
+ # Connector
2
+
3
+ ## Class Definition
4
+
5
+ ```python
6
+ class Connector(connector_id: str, geometry_ref: GeometryRef, name: Optional[str] = None)
7
+ ```
8
+
9
+ *Source: product.py*
10
+
11
+ ## Import Surface
12
+
13
+ - top-level: `from simplecadapi import Connector`
14
+
15
+ ## Description
16
+
17
+ Semantic datum frame anchored to a geometry sub-element (Face/Edge/Vertex).
18
+
19
+ The connector wraps a QL-selected sub-shape. The Placement is derived
20
+ from the geometry at solve/translate time, not stored directly.
@@ -0,0 +1,17 @@
1
+ # ConnectorRef
2
+
3
+ ## Class Definition
4
+
5
+ ```python
6
+ class ConnectorRef(component_id: str, connector_id: str)
7
+ ```
8
+
9
+ *Source: product.py*
10
+
11
+ ## Import Surface
12
+
13
+ - top-level: `from simplecadapi import ConnectorRef`
14
+
15
+ ## Description
16
+
17
+ Reference to a connector through a component instance.
@@ -3,7 +3,7 @@
3
3
  ## Class Definition
4
4
 
5
5
  ```python
6
- class Const
6
+ class Const(value: float, expr_id: str = field(default_factory=lambda : _make_expr_id('const')))
7
7
  ```
8
8
 
9
9
  *Source: expr.py*
@@ -0,0 +1,17 @@
1
+ # Constraint
2
+
3
+ ## Class Definition
4
+
5
+ ```python
6
+ class Constraint(constraint_id: str, constraint_kind: ConstraintKind, connector_a: ConnectorRef, connector_b: ConnectorRef, drive_distance: Optional[float] = None, distance_limit: Optional[ScalarLimit] = None, drive_angle_degrees: Optional[float] = None, angle_limit: Optional[ScalarLimit] = None, name: Optional[str] = None)
7
+ ```
8
+
9
+ *Source: product.py*
10
+
11
+ ## Import Surface
12
+
13
+ - top-level: `from simplecadapi import Constraint`
14
+
15
+ ## Description
16
+
17
+ Connector-to-connector assembly constraint.
@@ -0,0 +1,17 @@
1
+ # ConstraintReport
2
+
3
+ ## Class Definition
4
+
5
+ ```python
6
+ class ConstraintReport(solved: bool, grounded_component_ids: Tuple[str, ...], solved_component_ids: Tuple[str, ...], unsolved_component_ids: Tuple[str, ...], residuals: Tuple[ConstraintResidual, ...])
7
+ ```
8
+
9
+ *Source: product.py*
10
+
11
+ ## Import Surface
12
+
13
+ - top-level: `from simplecadapi import ConstraintReport`
14
+
15
+ ## Description
16
+
17
+ Assembly constraint inspection report.
@@ -0,0 +1,17 @@
1
+ # ConstraintResidual
2
+
3
+ ## Class Definition
4
+
5
+ ```python
6
+ class ConstraintResidual(constraint_id: str, translation_error: float, angular_error_degrees: float, within_tolerance: bool)
7
+ ```
8
+
9
+ *Source: product.py*
10
+
11
+ ## Import Surface
12
+
13
+ - top-level: `from simplecadapi import ConstraintResidual`
14
+
15
+ ## Description
16
+
17
+ Residual for a single assembly constraint.
@@ -3,7 +3,7 @@
3
3
  ## Class Definition
4
4
 
5
5
  ```python
6
- class Expr
6
+ class Expr(op: str, args: Tuple[ScalarExpr, ...], expr_id: str = field(default_factory=lambda : _make_expr_id('expr')))
7
7
  ```
8
8
 
9
9
  *Source: expr.py*
@@ -0,0 +1,22 @@
1
+ # GeometryRef
2
+
3
+ ## Class Definition
4
+
5
+ ```python
6
+ class GeometryRef(kind: str, source_node_id: Optional[str], geo_selector: Dict[str, Any], flip: bool = False)
7
+ ```
8
+
9
+ *Source: product.py*
10
+
11
+ ## Import Surface
12
+
13
+ - top-level: `from simplecadapi import GeometryRef`
14
+
15
+ ## Description
16
+
17
+ Serializable reference to a sub-shape selected via QL.
18
+
19
+ Wraps the geo_selector fingerprint + source graph node id so the
20
+ exact sub-element (Face/Edge/Vertex) can be re-resolved at translation
21
+ time or during constraint solving. When flip is True, the derived
22
+ placement Z axis is negated.
@@ -0,0 +1,17 @@
1
+ # Material
2
+
3
+ ## Class Definition
4
+
5
+ ```python
6
+ class Material(material_id: str, name: Optional[str] = None, density: Optional[float] = None, density_unit: Optional[str] = None, color: Optional[Vec3] = None)
7
+ ```
8
+
9
+ *Source: product.py*
10
+
11
+ ## Import Surface
12
+
13
+ - top-level: `from simplecadapi import Material`
14
+
15
+ ## Description
16
+
17
+ Material definition assigned to a Part through `assign_material_rpart`.
@@ -0,0 +1,17 @@
1
+ # Part
2
+
3
+ ## Class Definition
4
+
5
+ ```python
6
+ class Part(part_id: str, body: Solid, name: Optional[str] = None, material: Optional[Material] = None, connectors: Tuple[Connector, ...] = ())
7
+ ```
8
+
9
+ *Source: product.py*
10
+
11
+ ## Import Surface
12
+
13
+ - top-level: `from simplecadapi import Part`
14
+
15
+ ## Description
16
+
17
+ Single-body product item wrapping exactly one Solid.
@@ -0,0 +1,17 @@
1
+ # Placement
2
+
3
+ ## Class Definition
4
+
5
+ ```python
6
+ class Placement(origin: Vec3, x_axis: Vec3 = (1.0, 0.0, 0.0), y_axis: Vec3 = (0.0, 1.0, 0.0), z_axis: Vec3 = (0.0, 0.0, 1.0))
7
+ ```
8
+
9
+ *Source: product.py*
10
+
11
+ ## Import Surface
12
+
13
+ - top-level: `from simplecadapi import Placement`
14
+
15
+ ## Description
16
+
17
+ Right-handed placement mapping child-local coordinates to parent coordinates.
@@ -0,0 +1,203 @@
1
+ # SimpleCAD API Index
2
+
3
+ This index includes generated docs for the public SimpleCAD API surface, including geometry operations, graph/model JSON workflows, expressions, QL, and export helpers.
4
+
5
+ ## Import Surfaces
6
+
7
+ - Entries marked `top-level` are exported from `simplecadapi` and can be imported with `from simplecadapi import <name>`.
8
+ - Entries marked `submodule` are public through the listed submodule, such as `simplecadapi.ql`.
9
+
10
+ ## Basic Creation
11
+
12
+ - [make_angle_arc_redge](make_angle_arc_redge.md) *(from operations.py)* `top-level`
13
+ - [make_angle_arc_rwire](make_angle_arc_rwire.md) *(from operations.py)* `top-level`
14
+ - [make_assembly_rassembly](make_assembly_rassembly.md) *(from operations.py)* `top-level`
15
+ - [make_box_rsolid](make_box_rsolid.md) *(from operations.py)* `top-level`
16
+ - [make_circle_redge](make_circle_redge.md) *(from operations.py)* `top-level`
17
+ - [make_circle_rface](make_circle_rface.md) *(from operations.py)* `top-level`
18
+ - [make_circle_rwire](make_circle_rwire.md) *(from operations.py)* `top-level`
19
+ - [make_compound_from_assembly_rcompound](make_compound_from_assembly_rcompound.md) *(from operations.py)* `top-level`
20
+ - [make_cone_rsolid](make_cone_rsolid.md) *(from operations.py)* `top-level`
21
+ - [make_connector_ref_rconnectorref](make_connector_ref_rconnectorref.md) *(from operations.py)* `top-level`
22
+ - [make_cylinder_rsolid](make_cylinder_rsolid.md) *(from operations.py)* `top-level`
23
+ - [make_edge_connector_rconnector](make_edge_connector_rconnector.md) *(from operations.py)* `top-level`
24
+ - [make_face_connector_rconnector](make_face_connector_rconnector.md) *(from operations.py)* `top-level`
25
+ - [make_face_from_sketch_rface](make_face_from_sketch_rface.md) *(from operations.py)* `top-level`
26
+ - [make_face_from_wire_rface](make_face_from_wire_rface.md) *(from operations.py)* `top-level`
27
+ - [make_helix_redge](make_helix_redge.md) *(from operations.py)* `top-level`
28
+ - [make_helix_rwire](make_helix_rwire.md) *(from operations.py)* `top-level`
29
+ - [make_line_redge](make_line_redge.md) *(from operations.py)* `top-level`
30
+ - [make_material_rmaterial](make_material_rmaterial.md) *(from operations.py)* `top-level`
31
+ - [make_part_rpart](make_part_rpart.md) *(from operations.py)* `top-level`
32
+ - [make_placement_rplacement](make_placement_rplacement.md) *(from operations.py)* `top-level`
33
+ - [make_point_rvertex](make_point_rvertex.md) *(from operations.py)* `top-level`
34
+ - [make_polyline_rwire](make_polyline_rwire.md) *(from operations.py)* `top-level`
35
+ - [make_rectangle_rface](make_rectangle_rface.md) *(from operations.py)* `top-level`
36
+ - [make_rectangle_rwire](make_rectangle_rwire.md) *(from operations.py)* `top-level`
37
+ - [make_scalar_limit_rscalarlimit](make_scalar_limit_rscalarlimit.md) *(from operations.py)* `top-level`
38
+ - [make_segment_redge](make_segment_redge.md) *(from operations.py)* `top-level`
39
+ - [make_segment_rwire](make_segment_rwire.md) *(from operations.py)* `top-level`
40
+ - [make_sketch_rsketch](make_sketch_rsketch.md) *(from operations.py)* `top-level`
41
+ - [make_sphere_rsolid](make_sphere_rsolid.md) *(from operations.py)* `top-level`
42
+ - [make_spline_redge](make_spline_redge.md) *(from operations.py)* `top-level`
43
+ - [make_spline_rwire](make_spline_rwire.md) *(from operations.py)* `top-level`
44
+ - [make_three_point_arc_redge](make_three_point_arc_redge.md) *(from operations.py)* `top-level`
45
+ - [make_three_point_arc_rwire](make_three_point_arc_rwire.md) *(from operations.py)* `top-level`
46
+ - [make_vertex_connector_rconnector](make_vertex_connector_rconnector.md) *(from operations.py)* `top-level`
47
+ - [make_wire_from_edges_rwire](make_wire_from_edges_rwire.md) *(from operations.py)* `top-level`
48
+ - [make_wire_from_sketch_rwire](make_wire_from_sketch_rwire.md) *(from operations.py)* `top-level`
49
+
50
+ ## Transforms
51
+
52
+ - [mirror_shape](mirror_shape.md) *(from operations.py)* `top-level`
53
+ - [rotate_shape](rotate_shape.md) *(from operations.py)* `top-level`
54
+ - [translate_shape](translate_shape.md) *(from operations.py)* `top-level`
55
+
56
+ ## 3D Operations
57
+
58
+ - [extrude_rsolid](extrude_rsolid.md) *(from operations.py)* `top-level`
59
+ - [loft_rsolid](loft_rsolid.md) *(from operations.py)* `top-level`
60
+ - [revolve_rsolid](revolve_rsolid.md) *(from operations.py)* `top-level`
61
+ - [sweep_rsolid](sweep_rsolid.md) *(from operations.py)* `top-level`
62
+
63
+ ## Tagging and Selection
64
+
65
+ - [apply_tag](apply_tag.md) *(from operations.py)* `top-level`
66
+ - [list_tags](list_tags.md) *(from operations.py)* `top-level`
67
+ - [select_edges_by_tag](select_edges_by_tag.md) *(from operations.py)* `top-level`
68
+ - [select_faces_by_tag](select_faces_by_tag.md) *(from operations.py)* `top-level`
69
+
70
+ ## Boolean Operations
71
+
72
+ - [cut_rsolid](cut_rsolid.md) *(from operations.py)* `top-level`
73
+ - [intersect_rsolid](intersect_rsolid.md) *(from operations.py)* `top-level`
74
+ - [union_rsolid](union_rsolid.md) *(from operations.py)* `top-level`
75
+
76
+ ## Export
77
+
78
+ - [export_step](export_step.md) *(from operations.py)* `top-level`
79
+ - [export_stl](export_stl.md) *(from operations.py)* `top-level`
80
+
81
+ ## FreeCAD Translation
82
+
83
+ - [translate_model_json_to_fcstd](translate_model_json_to_fcstd.md) *(from freecad_translator.py)* `top-level`
84
+ - [translate_model_json_to_freecad_script](translate_model_json_to_freecad_script.md) *(from freecad_translator.py)* `top-level`
85
+
86
+ ## Math Helpers
87
+
88
+ - [BSplineFitResult](BSplineFitResult.md) *(from math.py)* `top-level`
89
+ - [fit_cubic_bspline_control_points](fit_cubic_bspline_control_points.md) *(from math.py)* `top-level`
90
+
91
+ ## Modeling Graph and Replay
92
+
93
+ - [GraphSession](GraphSession.md) *(from graph.py)* `top-level`
94
+ - [export_graph_json](export_graph_json.md) *(from serializer.py)* `top-level`
95
+ - [export_model_json](export_model_json.md) *(from serializer.py)* `top-level`
96
+ - [export_session_json](export_session_json.md) *(from serializer.py)* `top-level`
97
+ - [import_graph_json](import_graph_json.md) *(from serializer.py)* `top-level`
98
+ - [import_model_json](import_model_json.md) *(from serializer.py)* `top-level`
99
+ - [import_session_json](import_session_json.md) *(from serializer.py)* `top-level`
100
+ - [replay_graph](replay_graph.md) *(from serializer.py)* `top-level`
101
+ - [replay_model_json](replay_model_json.md) *(from serializer.py)* `top-level`
102
+ - [suspend_graph_recording](suspend_graph_recording.md) *(from graph.py)* `top-level`
103
+
104
+ ## Expressions and Parameters
105
+
106
+ - [Const](Const.md) *(from expr.py)* `top-level`
107
+ - [Expr](Expr.md) *(from expr.py)* `top-level`
108
+ - [ExpressionGraph](ExpressionGraph.md) *(from expr.py)* `top-level`
109
+ - [Var](Var.md) *(from expr.py)* `top-level`
110
+ - [const](const_function.md) *(from expr.py)* `top-level`
111
+ - [var](var_function.md) *(from expr.py)* `top-level`
112
+
113
+ ## Types and Errors
114
+
115
+ - [SimpleCADError](SimpleCADError.md) *(from errors.py)* `top-level`
116
+ - [Sketch](Sketch.md) *(from sketch.py)* `top-level`
117
+ - [SketchConstraint](SketchConstraint.md) *(from sketch.py)* `top-level`
118
+ - [SketchConstraintDiagnostic](SketchConstraintDiagnostic.md) *(from sketch.py)* `top-level`
119
+ - [SketchRef](SketchRef.md) *(from sketch.py)* `top-level`
120
+ - [SketchSolveResult](SketchSolveResult.md) *(from sketch.py)* `top-level`
121
+
122
+ ## Advanced Features
123
+
124
+ - [chamfer_rsolid](chamfer_rsolid.md) *(from operations.py)* `top-level`
125
+ - [fillet_rsolid](fillet_rsolid.md) *(from operations.py)* `top-level`
126
+ - [helical_sweep_rsolid](helical_sweep_rsolid.md) *(from operations.py)* `top-level`
127
+ - [shell_rsolid](shell_rsolid.md) *(from operations.py)* `top-level`
128
+
129
+ ## Evolve
130
+
131
+ - [make_n_hole_flange_rsolid](make_n_hole_flange_rsolid.md) *(from evolve.py)* `top-level`
132
+ - [make_naca_propeller_blade_rsolid](make_naca_propeller_blade_rsolid.md) *(from evolve.py)* `top-level`
133
+ - [make_threaded_rod_rsolid](make_threaded_rod_rsolid.md) *(from evolve.py)* `top-level`
134
+
135
+ ## Other
136
+
137
+ - [Assembly](Assembly.md) *(from product.py)* `top-level`
138
+ - [Component](Component.md) *(from product.py)* `top-level`
139
+ - [Connector](Connector.md) *(from product.py)* `top-level`
140
+ - [ConnectorRef](ConnectorRef.md) *(from product.py)* `top-level`
141
+ - [Constraint](Constraint.md) *(from product.py)* `top-level`
142
+ - [ConstraintReport](ConstraintReport.md) *(from product.py)* `top-level`
143
+ - [ConstraintResidual](ConstraintResidual.md) *(from product.py)* `top-level`
144
+ - [GeometryRef](GeometryRef.md) *(from product.py)* `top-level`
145
+ - [Material](Material.md) *(from product.py)* `top-level`
146
+ - [Part](Part.md) *(from product.py)* `top-level`
147
+ - [Placement](Placement.md) *(from product.py)* `top-level`
148
+ - [ScalarLimit](ScalarLimit.md) *(from product.py)* `top-level`
149
+ - [SemanticDelta](SemanticDelta.md) *(from topology.py)* `top-level`
150
+ - [SemanticRef](SemanticRef.md) *(from topology.py)* `top-level`
151
+ - [add_circle_rsketch](add_circle_rsketch.md) *(from operations.py)* `top-level`
152
+ - [add_component_rassembly](add_component_rassembly.md) *(from operations.py)* `top-level`
153
+ - [add_connector_rassembly](add_connector_rassembly.md) *(from operations.py)* `top-level`
154
+ - [add_connector_rpart](add_connector_rpart.md) *(from operations.py)* `top-level`
155
+ - [add_fixed_constraint_rassembly](add_fixed_constraint_rassembly.md) *(from operations.py)* `top-level`
156
+ - [add_line_rsketch](add_line_rsketch.md) *(from operations.py)* `top-level`
157
+ - [add_point_rsketch](add_point_rsketch.md) *(from operations.py)* `top-level`
158
+ - [add_prismatic_constraint_rassembly](add_prismatic_constraint_rassembly.md) *(from operations.py)* `top-level`
159
+ - [add_revolute_constraint_rassembly](add_revolute_constraint_rassembly.md) *(from operations.py)* `top-level`
160
+ - [and_](and_.md) *(from ql.py)* `submodule:ql`
161
+ - [assign_material_rpart](assign_material_rpart.md) *(from operations.py)* `top-level`
162
+ - [constrain_angle_rsketch](constrain_angle_rsketch.md) *(from operations.py)* `top-level`
163
+ - [constrain_coincident_rsketch](constrain_coincident_rsketch.md) *(from operations.py)* `top-level`
164
+ - [constrain_collinear_rsketch](constrain_collinear_rsketch.md) *(from operations.py)* `top-level`
165
+ - [constrain_concentric_rsketch](constrain_concentric_rsketch.md) *(from operations.py)* `top-level`
166
+ - [constrain_connect_rsketch](constrain_connect_rsketch.md) *(from operations.py)* `top-level`
167
+ - [constrain_diameter_rsketch](constrain_diameter_rsketch.md) *(from operations.py)* `top-level`
168
+ - [constrain_distance_rsketch](constrain_distance_rsketch.md) *(from operations.py)* `top-level`
169
+ - [constrain_distance_x_rsketch](constrain_distance_x_rsketch.md) *(from operations.py)* `top-level`
170
+ - [constrain_distance_y_rsketch](constrain_distance_y_rsketch.md) *(from operations.py)* `top-level`
171
+ - [constrain_equal_length_rsketch](constrain_equal_length_rsketch.md) *(from operations.py)* `top-level`
172
+ - [constrain_equal_radius_rsketch](constrain_equal_radius_rsketch.md) *(from operations.py)* `top-level`
173
+ - [constrain_fix_rsketch](constrain_fix_rsketch.md) *(from operations.py)* `top-level`
174
+ - [constrain_horizontal_rsketch](constrain_horizontal_rsketch.md) *(from operations.py)* `top-level`
175
+ - [constrain_length_rsketch](constrain_length_rsketch.md) *(from operations.py)* `top-level`
176
+ - [constrain_midpoint_rsketch](constrain_midpoint_rsketch.md) *(from operations.py)* `top-level`
177
+ - [constrain_parallel_rsketch](constrain_parallel_rsketch.md) *(from operations.py)* `top-level`
178
+ - [constrain_perpendicular_rsketch](constrain_perpendicular_rsketch.md) *(from operations.py)* `top-level`
179
+ - [constrain_point_on_rsketch](constrain_point_on_rsketch.md) *(from operations.py)* `top-level`
180
+ - [constrain_radius_rsketch](constrain_radius_rsketch.md) *(from operations.py)* `top-level`
181
+ - [constrain_symmetric_rsketch](constrain_symmetric_rsketch.md) *(from operations.py)* `top-level`
182
+ - [constrain_tangent_rsketch](constrain_tangent_rsketch.md) *(from operations.py)* `top-level`
183
+ - [constrain_vertical_rsketch](constrain_vertical_rsketch.md) *(from operations.py)* `top-level`
184
+ - [geo](geo.md) *(from ql.py)* `submodule:ql`
185
+ - [get_sketch_entity_rsketchref](get_sketch_entity_rsketchref.md) *(from operations.py)* `top-level`
186
+ - [get_sketch_point_rsketchref](get_sketch_point_rsketchref.md) *(from operations.py)* `top-level`
187
+ - [ground_component_rassembly](ground_component_rassembly.md) *(from operations.py)* `top-level`
188
+ - [identity_placement_rplacement](identity_placement_rplacement.md) *(from operations.py)* `top-level`
189
+ - [inspect_assembly_constraints_rconstraintreport](inspect_assembly_constraints_rconstraintreport.md) *(from operations.py)* `top-level`
190
+ - [inspect_sketch_rsketchresult](inspect_sketch_rsketchresult.md) *(from operations.py)* `top-level`
191
+ - [linear_pattern_rsolidlist](linear_pattern_rsolidlist.md) *(from operations.py)* `top-level`
192
+ - [measure_constraint_residual_rconstraintresidual](measure_constraint_residual_rconstraintresidual.md) *(from operations.py)* `top-level`
193
+ - [meta](meta.md) *(from ql.py)* `submodule:ql`
194
+ - [not_](not_.md) *(from ql.py)* `submodule:ql`
195
+ - [or_](or_.md) *(from ql.py)* `submodule:ql`
196
+ - [place_component_rassembly](place_component_rassembly.md) *(from operations.py)* `top-level`
197
+ - [radial_pattern_rsolidlist](radial_pattern_rsolidlist.md) *(from operations.py)* `top-level`
198
+ - [render_screenshot_rpath](render_screenshot_rpath.md) *(from operations.py)* `top-level`
199
+ - [select](select.md) *(from ql.py)* `submodule:ql`
200
+ - [solve_assembly_constraints_rassembly](solve_assembly_constraints_rassembly.md) *(from operations.py)* `top-level`
201
+ - [tag](tag.md) *(from ql.py)* `submodule:ql`
202
+ - [unground_component_rassembly](unground_component_rassembly.md) *(from operations.py)* `top-level`
203
+ - [value](value.md) *(from ql.py)* `submodule:ql`
@@ -0,0 +1,17 @@
1
+ # ScalarLimit
2
+
3
+ ## Class Definition
4
+
5
+ ```python
6
+ class ScalarLimit(lower_value: float, upper_value: float)
7
+ ```
8
+
9
+ *Source: product.py*
10
+
11
+ ## Import Surface
12
+
13
+ - top-level: `from simplecadapi import ScalarLimit`
14
+
15
+ ## Description
16
+
17
+ Closed scalar range for a constraint drive coordinate.
@@ -3,7 +3,7 @@
3
3
  ## Class Definition
4
4
 
5
5
  ```python
6
- class SemanticDelta
6
+ class SemanticDelta(created: Tuple[SemanticRef, ...] = (), modified: Tuple[SemanticRef, ...] = (), deleted: Tuple[SemanticRef, ...] = (), metadata: Dict[str, Any] = field(default_factory=dict))
7
7
  ```
8
8
 
9
9
  *Source: topology.py*
@@ -3,7 +3,7 @@
3
3
  ## Class Definition
4
4
 
5
5
  ```python
6
- class SemanticRef
6
+ class SemanticRef(graph_id: str, node_id: str, entity_type: str, entity_id: str)
7
7
  ```
8
8
 
9
9
  *Source: topology.py*
@@ -0,0 +1,24 @@
1
+ # Sketch
2
+
3
+ ## Class Definition
4
+
5
+ ```python
6
+ class Sketch(curves: Iterable[Edge | Wire] | None = None, *, name: Optional[str] = None, plane: Any = 'XY', sketch_id: Optional[str] = None)
7
+ ```
8
+
9
+ *Source: sketch.py*
10
+
11
+ ## Import Surface
12
+
13
+ - top-level: `from simplecadapi import Sketch`
14
+
15
+ ## Description
16
+
17
+ Declarative constrained sketch container.
18
+
19
+ Use `make_sketch_rsketch(...)`, `add_point_rsketch(...)`,
20
+ `add_line_rsketch(...)`, `add_circle_rsketch(...)`, and
21
+ `constrain_*_rsketch(...)` as the canonical API for building sketch
22
+ profiles. Public sketch construction APIs are functional and return an
23
+ updated `Sketch` document. The legacy `curves` constructor remains only for
24
+ reading already-built wire/edge containers.
@@ -0,0 +1,17 @@
1
+ # SketchConstraint
2
+
3
+ ## Class Definition
4
+
5
+ ```python
6
+ class SketchConstraint(constraint_id: str, kind: str, targets: Tuple[Dict[str, Any], ...], value: Any = None, driving: bool = True, metadata: Dict[str, Any] = field(default_factory=dict))
7
+ ```
8
+
9
+ *Source: sketch.py*
10
+
11
+ ## Import Surface
12
+
13
+ - top-level: `from simplecadapi import SketchConstraint`
14
+
15
+ ## Description
16
+
17
+ Serializable constraint inside a declarative sketch.
@@ -0,0 +1,17 @@
1
+ # SketchConstraintDiagnostic
2
+
3
+ ## Class Definition
4
+
5
+ ```python
6
+ class SketchConstraintDiagnostic(constraint_id: Optional[str], severity: str, code: str, message: str, residual: Optional[float] = None)
7
+ ```
8
+
9
+ *Source: sketch.py*
10
+
11
+ ## Import Surface
12
+
13
+ - top-level: `from simplecadapi import SketchConstraintDiagnostic`
14
+
15
+ ## Description
16
+
17
+ Diagnostic emitted by the sketch solver.
@@ -0,0 +1,17 @@
1
+ # SketchRef
2
+
3
+ ## Class Definition
4
+
5
+ ```python
6
+ class SketchRef(sketch_id: str, entity_id: str, *, kind: str, subentity: str = 'geometry')
7
+ ```
8
+
9
+ *Source: sketch.py*
10
+
11
+ ## Import Surface
12
+
13
+ - top-level: `from simplecadapi import SketchRef`
14
+
15
+ ## Description
16
+
17
+ Stable reference to a sketch entity or subentity.
@@ -0,0 +1,17 @@
1
+ # SketchSolveResult
2
+
3
+ ## Class Definition
4
+
5
+ ```python
6
+ class SketchSolveResult(sketch_id: str, status: str, dof: int, residual_norm: float, iterations: int, solved_points: Dict[str, Tuple[float, float]], solved_scalars: Dict[str, float], diagnostics: Tuple[SketchConstraintDiagnostic, ...] = ())
7
+ ```
8
+
9
+ *Source: sketch.py*
10
+
11
+ ## Import Surface
12
+
13
+ - top-level: `from simplecadapi import SketchSolveResult`
14
+
15
+ ## Description
16
+
17
+ Result of solving a declarative sketch.