Is it possible to show my section cuts symbols in layout without redrawing it?
Thanks
Share your SketchUp file so we can see what you have set up. They normally aren’t that big.
Thanks Dave
Here’s a DP link to access the file. Expires tomorrow.
SOL1590
Yariv
They’re large because your section planes are large. They encompass stuff they don’t need to include like the terrain.
Here I’ve added a new section cut 2 in just the group for the building. You can see the symbols are much smaller relative to the building.
I noticed a lot of incorrect tag usage.
Probably from the imported .dwg
Thanks so much Dave, I understand it now.
I’m aware of the tags and large number of edges and faces. The model was created in Revit and as I am using Skup Pro, the best model import method I’m aware of is to export as DWG (solids) from rvt and bring into skp. Obviously it is far from perfect as materials and groups are not consistent, and as a result, I also end up importing DWG’s either as provided from the architect or using PDFimport from Estimator for Skup. Both result in a significant time spent on cleaning and grouping.
Most common example for large number of edges is gridlines or textures.
I’d be grateful if you have any suggestions to help improving my workflow and keep the model tidy.
Yariv
The thing with the tags is that the imported geometry comes in tagged but in SketchUp the tags should only be given to the groups and components in the model. I would suggest untagging all of the geometry from the import and then make groups or components as needed and give them the tags. This would be especially helpful if you use the imported geometry in the model instead of just as a reference you’ll delete later.
Thanks. Good advice. Will do.
Y
You could trial the new Revit importer:
This is where there’s a need for a bit more functionality when importing DWGs.
Combining tagged geometry into components and then tagging the component would be a valuable import tool.
Putting all impoeted tags into a tag folder, changing the tag colors, assigning a common component axis position etc, would make working with dwgs so much easier.
Dwgs often contain 100s of tags and 10000s of objects. Its unrealistic to go through an imported file and manually fix its structure (Then repeat that each time a new version of a file is imported) .
Below is a sample Ruby that could be run post-import to gather all the loose geometry that uses each tag into a distinct group. With a bit of work it could be made into an extension if it does what people need. It puts the original tag onto the group and then untags all the gathered contents.
module GroupByLayer
def self.group_by_layer
# gather up loose edges and faces
loose_faces = Sketchup.active_model.entities.grep(Sketchup::Face)
loose_edges = Sketchup.active_model.entities.grep(Sketchup::Edge)
# retain only edges not used by any face. Edges needed by a face
# will be handled along with the face.
loose_free_edges = loose_edges.delete_if {|edge| !edge.faces.empty?}
loose_geometry = loose_faces + loose_free_edges
# Hash with a key for each layer used by loose geometry and value
# an array of entities that use that layer. Default initializes a
# empty array so we can append items.
loose_by_layer = Hash.new {|h,k| h[k] = []}
loose_geometry.each {|entity| loose_by_layer[entity.layer] << entity}
# create a group for each used layer and put the associated geometry
# into it. Because a face must have all its edges in the same context,
# this will do two things: it will bring the bounding edges of the face
# into the group even if they weren't using this layer, and it will create
# a duplicate in the model if the edge is needed to bound a face still there.
# These new edges in model aren't in the list we built earlier but aren't needed
# because we captured only faces and free edges, not edges that bound faces.
Sketchup.active_model.start_operation("Group by layer", true)
loose_by_layer.keys.each do |layer|
begin
gp = Sketchup.active_model.entities.add_group(loose_by_layer[layer])
# use the layer from the original loose entities for the group
gp.layer = layer
# and fix the Layer0 association of the ones in the group
gp.definition.entities.each {|entity| entity.layer = nil}
rescue => e
# note: this reports the exception but lets the method
# continue to process the rest of the layers
UI.messagebox(e.message)
puts e.message
puts e.backtrace
end
end
Sketchup.active_model.commit_operation
nil
end
end
GroupByLayer::group_by_layer
Thank you so much. this is super helpful