Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 3f793dc9db |
@@ -64,7 +64,8 @@ module SpeckleConnector
|
||||
def convert(entity, preferences, speckle_state, parent = :base)
|
||||
convert = method(:convert)
|
||||
|
||||
unless SketchupModel::Reader::MapperReader.mapped_with_schema?(entity)
|
||||
unless SketchupModel::Reader::MapperReader.mapped_with_schema?(entity) &&
|
||||
!entity.is_a?(Sketchup::ComponentDefinition)
|
||||
return from_native_to_speckle(entity, preferences, speckle_state, parent, &convert)
|
||||
end
|
||||
|
||||
|
||||
@@ -89,6 +89,11 @@ module SpeckleConnector
|
||||
speckle_schema = SketchupModel::Dictionary::SpeckleSchemaDictionaryHandler
|
||||
.speckle_schema_to_speckle(component_instance)
|
||||
|
||||
if speckle_schema.empty?
|
||||
speckle_schema = SketchupModel::Dictionary::SpeckleSchemaDictionaryHandler
|
||||
.speckle_schema_to_speckle(component_instance.definition)
|
||||
end
|
||||
|
||||
# transform into global if any path provided
|
||||
transformation = component_instance.transformation
|
||||
transformation = SketchupModel::Query::Entity.global_transformation(component_instance, path) if path
|
||||
|
||||
@@ -89,6 +89,9 @@ module SpeckleConnector
|
||||
entity = entity_with_path[0]
|
||||
path = entity_with_path[1..-1]
|
||||
method = SPECKLE_SCHEMA_DICTIONARY_HANDLER.get_attribute(entity, 'method')
|
||||
if entity.is_a?(Sketchup::ComponentInstance) && method.nil?
|
||||
method = SPECKLE_SCHEMA_DICTIONARY_HANDLER.get_attribute(entity.definition, 'method')
|
||||
end
|
||||
|
||||
if !method.nil? && (method.include?('Floor') || method.include?('Wall')) && entity.is_a?(Sketchup::Face)
|
||||
global_transformation = QUERY::Entity.global_transformation(entity, path)
|
||||
|
||||
Reference in New Issue
Block a user