cad-to-dagmc 0.9.8__py3-none-any.whl → 0.9.9__py3-none-any.whl

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.
_version.py CHANGED
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
28
28
  commit_id: COMMIT_ID
29
29
  __commit_id__: COMMIT_ID
30
30
 
31
- __version__ = version = '0.9.8'
32
- __version_tuple__ = version_tuple = (0, 9, 8)
31
+ __version__ = version = '0.9.9'
32
+ __version_tuple__ = version_tuple = (0, 9, 9)
33
33
 
34
34
  __commit_id__ = commit_id = None
cad_to_dagmc/core.py CHANGED
@@ -590,7 +590,7 @@ class CadToDagmc:
590
590
  cadquery_object: (
591
591
  cq.assembly.Assembly | cq.occ_impl.shapes.Compound | cq.occ_impl.shapes.Solid
592
592
  ),
593
- material_tags: list[str] | None,
593
+ material_tags: list[str] | None = None,
594
594
  scale_factor: float = 1.0,
595
595
  ) -> int:
596
596
  """Loads the parts from CadQuery object into the model.
@@ -613,18 +613,36 @@ class CadToDagmc:
613
613
  """
614
614
 
615
615
  if isinstance(cadquery_object, cq.assembly.Assembly):
616
- cadquery_object = cadquery_object.toCompound()
616
+ # look for materials in each part of the assembly
617
+ if material_tags is None:
618
+ material_tags = []
619
+ for child in cadquery_object.children:
620
+ if child.material is not None and child.material.name is not None:
621
+ material_tags.append(child.material.name)
622
+ else:
623
+ raise ValueError(
624
+ f"Not all parts in the assembly have material tags assigned. "
625
+ f"Missing material tag for child: {child}. "
626
+ "Please assign material tags to all parts or provide material_tags argument when adding the assembly."
627
+ )
628
+
629
+ cadquery_compound = cadquery_object.toCompound()
630
+ else:
631
+ cadquery_compound = cadquery_object
617
632
 
618
- if isinstance(cadquery_object, (cq.occ_impl.shapes.Compound, cq.occ_impl.shapes.Solid)):
619
- iterable_solids = cadquery_object.Solids()
633
+ if isinstance(cadquery_compound, (cq.occ_impl.shapes.Compound, cq.occ_impl.shapes.Solid)):
634
+ iterable_solids = cadquery_compound.Solids()
620
635
  else:
621
- iterable_solids = cadquery_object.val().Solids()
636
+ iterable_solids = cadquery_compound.val().Solids()
622
637
 
623
638
  if scale_factor == 1.0:
624
639
  scaled_iterable_solids = iterable_solids
625
640
  else:
626
641
  scaled_iterable_solids = [part.scale(scale_factor) for part in iterable_solids]
627
642
 
643
+ # look for materials in the
644
+ # if material_tags is None:
645
+
628
646
  check_material_tags(material_tags, scaled_iterable_solids)
629
647
  if material_tags:
630
648
  self.material_tags = self.material_tags + material_tags
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cad_to_dagmc
3
- Version: 0.9.8
3
+ Version: 0.9.9
4
4
  Summary: Converts CAD files to a DAGMC h5m file
5
5
  Author-email: Jonathan Shimwell <mail@jshimwell.com>
6
6
  Project-URL: Homepage, https://github.com/fusion-energy/cad_to_dagmc
@@ -0,0 +1,9 @@
1
+ _version.py,sha256=ICJcCYYRydywQ4LYVoe5Hg1g5gm82yoqqH0yhtrP2aM,704
2
+ cad_to_dagmc/__init__.py,sha256=oCr1P0QnBsf6AH0RZujX7T7tdrb75NazdF70HtqXSfc,528
3
+ cad_to_dagmc/core.py,sha256=i9CfNmDBCGati5YzfSA9ymwcgxeleDDN71ge5laxjr8,44105
4
+ cad_to_dagmc/direct_mesh_plugin.py,sha256=iKPYtWQd35Ipxv6g8fZ-r7GFKd1VlCwrSfaNzrGFtf0,24131
5
+ cad_to_dagmc-0.9.9.dist-info/licenses/LICENSE,sha256=B8kznH_777JVNZ3HOKDc4Tj24F7wJ68ledaNYeL9sCw,1070
6
+ cad_to_dagmc-0.9.9.dist-info/METADATA,sha256=xhzOG-Pb2wBJB5_wHaMhNxRIREnJxVqslrFrFUlaLf0,8994
7
+ cad_to_dagmc-0.9.9.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
8
+ cad_to_dagmc-0.9.9.dist-info/top_level.txt,sha256=zTi8C64SEBsE5WOtPovnxhOzt-E6Oc5nC3RW6M_5aEA,22
9
+ cad_to_dagmc-0.9.9.dist-info/RECORD,,
@@ -1,9 +0,0 @@
1
- _version.py,sha256=H7-sGIKTltvB6i41Ij4ifczW_TE-rd9_0VfDTgdon0w,704
2
- cad_to_dagmc/__init__.py,sha256=oCr1P0QnBsf6AH0RZujX7T7tdrb75NazdF70HtqXSfc,528
3
- cad_to_dagmc/core.py,sha256=i3iNhvKOLt2VfdQ8frSLQ5L8y1QC23JprLuoeqqiyD4,43222
4
- cad_to_dagmc/direct_mesh_plugin.py,sha256=iKPYtWQd35Ipxv6g8fZ-r7GFKd1VlCwrSfaNzrGFtf0,24131
5
- cad_to_dagmc-0.9.8.dist-info/licenses/LICENSE,sha256=B8kznH_777JVNZ3HOKDc4Tj24F7wJ68ledaNYeL9sCw,1070
6
- cad_to_dagmc-0.9.8.dist-info/METADATA,sha256=rpYNMTMwcYgI_JqMRCcVlT2q0e8UnMCJACtoue617jc,8994
7
- cad_to_dagmc-0.9.8.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
8
- cad_to_dagmc-0.9.8.dist-info/top_level.txt,sha256=zTi8C64SEBsE5WOtPovnxhOzt-E6Oc5nC3RW6M_5aEA,22
9
- cad_to_dagmc-0.9.8.dist-info/RECORD,,