This refactors DressUp VP a bit so it does no longer store original copy
of original faces colors to properly support selection, but uses
highlight methods provided by the base class. It simplfies code a bit
and ensures coherent behavior.
Improves the use of the ShapeAppearance property for the Part workbench.
removes DiffuseColor property
adds Python compatibility using custom attributes
transitions DiffuseColor to ShapeAppearance on open
Improved UI elements for setting object appearance, and appearance per face
Lays the foundation for future texture support
Dialogs to view the Appearance and Material properties of an object
These inspectors are intended to be used when debugging Appearance and
Material issues in a model.
The Appearance inspector displays the appearance properties of an
object. This will be more useful once PR 13792 is merged which migrates
parts to use ShapeAppearance instead of DiffuseColor. This shows each
of the appearance properties per face for the object.
The Material inspector shows the material, models, and properties
assigned to a model. It displays useful debugging information such as
the UUID and file paths associated with eacch of the items. This is
useful when finding and resolving model conflicts.
The material inspector now gives the option of copying the information
to the clipboard.
isMultiTransformChild() tried to do a better job by checking
for a parent MultiTransform in the dependency list, but this
is unusable during initialization, when these dependencies are
not established.
The method is changed back to the previous one which only checks for
default property values. This will give false results during
initialization but not cause problems.
Because the Origins property is empty in "Transform Body" mode, the
features are detected as not solid.
This messes with the feature order on insertions and moves.
This is fixed by calling the isMultitransformChild() method of the
Transformed features instead of checking the Origins property in the
Body code.
Several group commands are active but require an active document to work. This PR overrides the method isActive() to
disable the commands if no active document exists.
The affected commands are:
* Std_ViewGroup
* Std_LinkActions
* PartDesign_CompDatums
* PartDesign_CompSketches
This adds "SingleSolidRuleMode" enum that controls if PartDesign will
enforce singular solid. By default the single-solid is enforced so
nothing changes for the user, it must be explicitly disabled by setting
new Allow Compound boolean property on a given body.
Default for this value is controled using user parameter under
Mod/PartDesign/AllowCompoundDefault
This refactors a single solid rule checking code from using the solid
count directly to using well abstracted `isSingleSolidRuleSatisfied`
method. This makes code easier to read and is the basis for next step
which is allowing users to disable this checks.