Compare commits

...

3 Commits

Author SHA1 Message Date
Jedd Morgan dabb65427a Added defaults to converter settings so converter can be used without connector 2023-10-18 15:48:31 +01:00
Jedd Morgan 57ece17e8b Merge pull request #177 from specklesystems/jrm/chore/comments
chore: fixed some mistakes in code comments
2023-10-16 11:43:58 +01:00
Jedd Morgan 4362f737d0 chore: fixed some mistakes in code comments 2023-10-16 11:43:36 +01:00
3 changed files with 15 additions and 16 deletions
+12 -12
View File
@@ -10,22 +10,22 @@ from attrs import define
ELEMENTS = "elements"
def _id(natvive_object: ID) -> str:
def _id(native_object: ID) -> str:
#NOTE: to avoid naming collisions, we prefix collections and objects differently
return f"{type(natvive_object).__name__}:{natvive_object.name_full}"
return f"{type(native_object).__name__}:{native_object.name_full}"
def _try_id(natvive_object: Optional[Union[Collection, Object]]) -> Optional[str]:
return _id(natvive_object) if natvive_object else None
def _try_id(native_object: Optional[Union[Collection, Object]]) -> Optional[str]:
return _id(native_object) if native_object else None
def convert_collection_to_speckle(col: Collection) -> SCollection:
convered_collection = SCollection(name = col.name_full, collectionType = "Blender Collection", elements = [])
convered_collection.applicationId = _id(col)
converted_collection = SCollection(name = col.name_full, collectionType = "Blender Collection", elements = [])
converted_collection.applicationId = _id(col)
color_tag = col.color_tag
if color_tag and color_tag != "NONE":
convered_collection["colorTag"] = col.color_tag
converted_collection["colorTag"] = col.color_tag
return convered_collection
return converted_collection
@define(slots=True)
class BlenderCommitObjectBuilder(CommitObjectBuilder[Object]):
@@ -67,11 +67,11 @@ class BlenderCommitObjectBuilder(CommitObjectBuilder[Object]):
# parent = self.find_collection_parent(col)
# self.set_relationship(id, (_try_builder_id(parent), ELEMENTS), (ROOT, ELEMENTS))
convered_collection = convert_collection_to_speckle(col)
self.converted[id] = convered_collection
self._collections[id] = convered_collection
converted_collection = convert_collection_to_speckle(col)
self.converted[id] = converted_collection
self._collections[id] = converted_collection
return convered_collection
return converted_collection
def build_commit_object(self, root_commit_object: Base) -> None:
assert(root_commit_object.applicationId in self.converted)
+1 -1
View File
@@ -52,7 +52,7 @@ def can_convert_to_native(speckle_object: Base) -> bool:
return True
return False
convert_instances_as: str #HACK: This is hacky, we need a better way to pass settings down to the converter
convert_instances_as: str = "" #HACK: This is hacky, we need a better way to pass settings down to the converter
def set_convert_instances_as(value: str):
global convert_instances_as
convert_instances_as = value
+2 -3
View File
@@ -515,14 +515,13 @@ def empty_to_speckle(blender_object: Object) -> Union[BlockInstance, Base]:
# probably an instance collection (block) so let's try it
if blender_object.instance_collection and blender_object.instance_type == "COLLECTION":
# Empty -> Block
return block_instance_to_speckle(blender_object)
else:
#raise ConversionSkippedException("Sending non-collection instance empties are not currently supported")
# Empty -> Point
wrapper = Base()
wrapper["@displayValue"] = matrix_to_speckle_point(cast(MMatrix, blender_object.matrix_world))
return wrapper
#TODO: we could do a Empty -> Point conversion here. However, the viewer (and likely other apps) don't support a pont with "elements"
#return matrix_to_speckle_point(cast(MMatrix, blender_object.matrix_world))
def matrix_to_speckle_point(matrix: MMatrix, units_scale: float = 1.0) -> Point: