Can't see some of the lines

Some lines (see around the window ledge) don’t appear even though I drew them in.
07-29-2022_Bathroom 3-D_help.skp (7.7 MB)
What is going on?

You’ve turned Edges off in your style. That would have a lot to do with it.
Screenshot - 7_29_2022 , 1_18_12 PM

There are quite a few reversed faces in your model that ought to be corrected.

I also notice incorrect tag usage. ALL edges and faces should be created and remain untagged.
Screenshot - 7_29_2022 , 1_19_46 PM

And your model could tolerate purging of unused stuff.
Screenshot - 7_29_2022 , 1_20_01 PM

Purging the unused stuff reduces the file size by about 42%.
07-29-2022_Bathroom 3-D_purged.skp (4.5 MB)

Hi Dave, OOOmph! I must have hit the uncheck button by accident! How do I get rid of the “tags” when they were imported from autoCAD. I have a feeling I forgot to put everything on untagged default. Can I still do it?

I used TIG’s Default Tag Geometry from Sketchucation to remove the tags from the geometry in the model.

You can go through manually and select all the geometry or you could just delete the tags and give them Untagged.

The code snippet below will find each loose face and edge that uses a tag/layer at top-level in the model and will create a group for that tag containing all the loose geometry that used it. The geometry captured by the group will be untagged, but the group will retain the original tag. I use this as an attempt to preserve layering semantics when a model is imported from CAD with (for SketchUp) improperly tagged faces and edges.

It only affects faces and edges at top-level in the model because there are other extensions that already repair improper tag usage in nested contexts. Note however that the code here should be run before using those other extensions, as they will clear the tags this would have targeted.

Also note that this will take the edges bounding a face with it into the new group. When two differently tagged faces share an edge, a separate copy of the edge will be put into each group, as it is needed for the definition of each face but an edge cannot bound a face in a different group.

This does not repair edges or faces that were split by SketchUp during the import. It is not possible to prevent SketchUp from processing all intersections during the import and the logic to try to fix them can be unreliable.

module SLB_Plugins
  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 = {|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|
          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
          puts e.message
          puts e.backtrace