The first picture looks ok (‘‘Spacing is off’’), and regarding the colors, if you chose them that way because you like them… ok, otherwise, I would change the light blue to a light gray, and the green to blue (as I drew in the image from the previous post ).
And if the text from “LEVELS” is with Bold, I would change it to Regular.
I don’t like the colors at all! I was thinking to color the attribute chips alphabetically just to mix them up. Or otherwise use the Modus color pallet.
You had what we are now showing as labels as tags in your model. Is it a problem that the labels are not themselves attributes?
It’s okay, I realized that it is not necessary to import the tag/folder tag structure from the model, but to have the possibility to create an attribute structure (as you have worked so far), and maybe this can be saved (as a file that can be reloaded in a new model).
Probably better with Modus color pallet.
<div class="chip chip-sm chip-solid chip-filter active">
<div class="chip-icon-left"><i class="modus-icons notranslate" aria-hidden="true">check</i></div>
<div class="chip-text">Taxi</div>
</div>
<div class="chip chip-sm chip-outline chip-filter">
<div class="chip-text">Car</div>
</div>
By ‘‘labels’’ you mean words “LEVELS”, “STUFF”, etc, right?
If ‘‘yes’’, it’s fine not to be attributes, they are just the correspondent of the top level in the tag folder structure, like a title for that section.
I have not used it.
bmike, thanks for the link to the multi-tag extension!
Also, it’s nice that James (3DxJFD) is working on a new extension.
I was getting hung up so I just started styling in css. That spacing is bothering me…
I can’t figure out how to color the chips. Badges maybe… but not these chips…
As my way of working with Boostrap only involves copying a code from the help page and inserting it in another place, and through repetitive testing, until I find what I want to come out, I will also search in Modus to see if I can find any information for this.
Now I have to narrow the area on which the red background color is applied.
// edit
I found this: Chips | Trimble Modus Design System
and in https://modus.trimble.com/styles/styles.min.css?v0.118.2 I changed background color to orange for that chip
[data-theme=dark] .chip-solid.chip-input.error {
color: #ab1f26;
background-color: #ff9600!important;
Something like the following…
const chipColors = [
"chip-primary",
"chip-secondary",
"chip-success",
"chip-danger",
"chip-warning",
"chip-info",
"chip-light",
"chip-dark"
];
Create Attribute Groups:
Faded chips indicate hidden state. Check mark toggles to “X”. I don’t like these so I’m considering them placeholders for now. May use Sun and Moon???, here: Modus Icons · SVG icon library for Modus (trimble.com)
“Plus Sign” / Modus “Add” icon for selected attributes.
Moved selected attributes to new attribute group:
Lotza problems here!
Ok, didn’t see it named or linked. Thanks for the effort - I really didn’t need the highlighting, but thanks for going through all the trouble. I’ll leave your sandbox alone now. Have a good evening.
Everyone’s welcome in the sandbox! You’ve probably noticed we’re playing around here but feedback is good. Too much jellybean look to the new attribute chips? Not faded enough?
Visibility should toggle groups and components in Outliner, so I think that’s going to work well with Scenes but haven’t gotten to test that much. I’m hearing that Scenes → Layout is what could make an attribute tagger worthwhile.
Visibility should toggle groups and components in Outliner, so I think that’s going to work well with Scenes but haven’t gotten to test that much
Note: when the user changes the visibility of an entity,
the visibility needs to be updated on each scene, depending on what layers/tags are enabled in that scene. Otherwise when switching between scenes (or exporting model to Layout) will get unexpected results.
unfortunately this is the Sketchup model
# @param entity [EntityInfo]
private def UpdateEntityVisiblity(entity, updateScenes = false, context={})
visible = entity.DisplayFunction.exec(@core, nil, context);
@log.verbose("entity(#{entity.id}) visible=#{visible}") if (@log.isVerbose)
displayLayer = @core.GetDisplayLayer(visible);
if (entity.obj.layer.object_id != displayLayer.object_id)
entity.obj.layer = displayLayer;
end
entity.obj.hidden = !visible;
if (updateScenes)
Sketchup.active_model.pages.each { |scene|
if (context["scene[#{scene.object_id}]"] == nil)
context["scene[#{scene.object_id}]"] = {}
end
visible = entity.DisplayFunction.exec(@core, scene, context["scene[#{scene.object_id}]"]);
scene.set_drawingelement_visibility(entity.obj, visible);
}
end
end
Some progress on the UI:
Still working together…
Am I understanding you correctly…?
This is the behaviour with tags – no ?
If I want to turn some tags on / off for a scene, I manually update the scene – at least that’s my workflow ( with a shortcut ).
Thanks for this useful heads up. I’ve haven’t gotten to scenes yet but I’m worried they will be trouble. I may add another dialog to deal with them.
I watched some of your videos. If I recall, you are using formulas for logic (NOT AND, and I don’t recall). But are you using tags or attributes? It seems either way there is a problem of multi-tags creating a visibility mismatch between visibility states and displays. Did you use formulas to prevent those cases? I will probably watch your videos again… just watched again. So your extension shows existing tags and tag folders? That’s not all just nested folders is it?
The user would have to do that regardless, correct? I don’t know the basic or advanced workflows so I really have to look at this.
Thanks again for your notes.
This is the behaviour with tags – no ?
Tags is part of scene + each scene contains list of objects which hidden on it.
If I want to turn some tags on / off for a scene, I manually update the scene – at least that’s my workflow ( with a shortcut ).
Manual control is good, but depend how many scenes you have, in my workflow I have a 75 layer/tags and 85+ scenes for Layout (different wall planes) and update each of them each time is a total headache.
Yes, that’s right, my approach in tag management is that every object in Sketchup should have a visibility formula, entity.visible = formula
Out of the box in Sketchup, the visibility of each object defined as simple condition:
entity.visible = (!entity.hidden & entity.layer.visible & entity.layer.folder.visible)
i.e. we have a simple dependence on the visibility of the tag and its parent folders
my idea is to replace the [layer.visible] condition with a logical formula that the user can enter by specifying several tags.
By default, through the interface, the user, by clicking the checkboxes, composes a formula as a logical AND of the selected layers.
if the user selects two layers for an object, the formula becomes
entity.visible = (layer1.visible & layer1.folder.visible) & (layer2.visible & layer2.folder.visible)
advanced user can edit formula and changes logic operation between layers using OR or NOT operators (I not have any minds how implement this in UX, so I have a simple Formula Editor)
My model uses everything that a Sketchup can provide (except for nested groups - I did this at the beginning of the journey, but I came to the conclusion that it adds more problems than it solves, 3-4 clicks to open to the model geometry, 3-4 clicks to get out of it)
So I used both tags and attributes:
- the attribute of each entity stores the visibility formula of the object
- through extension Dialog window user composes visibility formula for selected objects or in other words assigns tags to an object
- through native Sketchup tag tree Dialog the user control object visibility on the active scene by enable or disable tags/folders
- the service recalc the visibility of each object and depending on the formula and enabled tags + tag folders
;^) It’s DeMorgan’s Theorem or an XNOR or something like that. Best to just trick the user into pressing the right buttons!
That!
Thank you for your explanation! It is very interesting and fun to read. I’m going to have to review when the time comes for dealing with scenes.
I have the tab enabled to perform a double click when in SketchUp – and there’s also Curic’s To Level and the latest Select++.
For getting out of a nest of groups there’s the utility script Backout to which I assign to a key.