Symbol overrides.. what's the point? ( accumulated )



  • Notice: Accumulated into mega-topic.

    Quick question. I feel like I didn't yet understand what's the point of symbol overrides. Is there something powerful I'm missing? Since it seems that you have to override a symbol with another symbol, how is that different from just using the other symbol?? This with the docs talking about overriding attributes like fill on symbols locally has me incredibly confused.

    Am I supposed to make a copy of the symbol on the reference canvas, change some attributes and then select that new symbol in the overrides panel? The purpose is very unclear to me.



  • Is this about dragging a few instances of a symbol on the canvas, editing them (move, scale, rotate, skew, group) then choosing some of them to be overriden with another symbol (done from the Overrides panel)?

    And you're asking why is that needed, since you can drag another symbol from the Symbols panel over the symbol instances on the canvas to change them?



  • @b77 Well it's not only limited to your scenario. Basically everytime you override a symbol with another symbol via the Overrides panel - what's different here from deleting the symbol instance and dragging the newly created symbol ( which you would have used to do the override anyways ) onto the canvas to replace it? The only difference in the process is making the override instead of deleting the old and dragging in the new. Why the override?



  • @Nils Sure, if it's just one symbol, you can do that. But somehow I thought you are dealing with multiple symbol instances.

    If you want to replace multiple symbol instances quickly, dragging another symbol over them (from the Symbols menu) will replace them all with the new symbol but their size, rotation, location, etc is preserved.

    Same happens if you do it via the Overrides panel.

    Are you asking why this same replacing operation can be done from the Symbols panel (by dragging a new symbol) and also from the Overrides panel?

    (Sorry if I misunderstood something and all this was known and obvious to you already).



  • @b77 Actually I wasn't looking at it from the perspective of plurality. Thanks very much, this answer my question.


  • administrators

    @Nils Posted on the other thread before reading this, so copy it here (but mostly was answered already):

    Style Overrides:

    • it applies to Styles used inside symbols.
    • lets say we have a color style "color1" and we used it inside a symbol (to fill a shape).
    • when we select instances of a symbol, or the symbol, the color will show up in the symbols panel.
    • the override can "redefine" the color style locally (inside the instance only).
    • other symbol instances are not altered.
    • can also use style override to replicate styles inside a layer only (leaving other layers with the original or other overrides).

    Symbol Overrides:

    • the symbol instance is just a regular (shapeless) object containing a style that refers to the symbol.
    • this style can have an override.
    • not very useful directly on single symbols.
    • but it is useful for symbols inside groups or layers.
    • or symbols inside other symbols.
    • can also have override on a canvas, and other canvases (having the same symbol) can have different overrides or the original.


  • @vectoradmin I see, makes sense.
    Do you think it would be possible to provide the ability to override non-style attributes of symbols and styles in the future?

    Example:

    I have a shape with a fil with several other objects with different kinds of fills inside it, the outer shape acting as a clipping mask. That object is a symbol instance. Now it would be handy to be able to override any attribute of any object inside that instance without losing the link to the symbol. When the symbol is updated, the overridden attribute would be ignored.


  • administrators

    @Nils This is possible as long as that attribute was set from a style in the original symbol (btw: in VS most attributes can be set from Styles, including fill color, stroke, effects, object shape, etc).

    Allowing any (nonstyle) attribute would be too complex, especially that symbols can be complex groups with many objects, and each object with a lots of attributes.
    (also: we would need a name for the attribute to know what is overwritten, we cannot just list all fill colors, shapes, strokes, effects, from a complex symbol).

    So for now, this is limited to styled attributes: just edit the original symbol, pick an object and save its attribute as a style (for example, the fill color), apply the style as a fill and then all instances of that symbol have the possibility to override.



  • @vectoradmin I see, will do.