Alternate parts in Hierarchal Blocks

Drawing Schematics, Hierarchical Design, BOM, Exporting net-lists, etc.
Post Reply
Posts: 4
Joined: 27 Jan 2023, 11:02

Alternate parts in Hierarchal Blocks

#1 Post by eindecker2000 » 04 Aug 2023, 04:21

Is it possible to have one Hierarchal block in your schematic and have different part numbers (of the same footprint) in the instances of the block on the main schematic sheet? For example, a simple op-amp block where each block on the main sheet has different resistor values for different gains. Without just replicating the block on a new sheet and adjusting the components? Altium handle this by BOM "variants", where you can define the components in each block definition, and have the exported BOM still be correct.

Technical Support
Posts: 3840
Joined: 13 Jun 2010, 23:43

Re: Alternate parts in Hierarchal Blocks

#2 Post by Alex » 08 Sep 2023, 23:07

All instances of a hierarchical block are the same in DipTrace. It is not possible to change value of components for each instance. Consider excluding variable components from hierachical block.
There is assembly variants feature in DipTrace. It allows to create multiple assembly variants and include/exclude components from each variant individually.

Posts: 77
Joined: 15 Feb 2016, 05:47

Re: Alternate parts in Hierarchal Blocks

#3 Post by SoundMod » 23 Sep 2023, 05:21

Then consider adding the possibility to pass parameter for a hierarchical sheet.
So lets say, in the hierarchical sheet properties you will have a parameter editor where you can specify:
%RefDes_%Index_%ParameterName = %Value

%RefDes : Editable by user but annotation must be done first
%Index: Hierarchical Block Index
%ParameterName: Default Parameter Name or Custom Name that appears in component attribute
%Value: Value desired by user

As an example:
Lets says we have a Hierarchical Sheet repeated 5 times in the schematic but I want a different MPN for Resistor R5 in each instance of that hierarchical sheet:
R5 has the default component Name: RC0603JR-071KL_N

Now, I want a different component for R5 in the 4 other channel, in the hierarchical sheet components properties, I could write:

R5_2_Name : RC0603JR-071KL_M - Effect in Block2: same component but the footprint in PCB will be the _M version
R5_3_Name : RC0603FR-071K2L_N - Effect in Block3: different MPN but same footprint
R5_4_Name : RC2012JR-072K2L_N - Effect in Block4: different MPN and different footprint in PCB
R5_5_Name : RC0603FR-0733KL_N - Effect in Block5: different MPN and same footprint

Another example if I would like to simply change the value field of the resitor in BLock 2, 3:
R5_2_Value : 20k
R5_3_Value : 1.2K
All other will stays to default

After that it is a matter of reflecting that in BOM and PCB but also on the schematic without having to create one sheet tab for each instance.

So, I will suggest that on the schematic R5 could be displayed differently.
When hovering the component, a popup windows could show up and display:
1. The default value/name/parameter of R5 in the hierarchical sheet
2. All other variant with its block name/index
3. In the component list, all instance of R5_index will be shown according to the hierarchical sheet component properties defined by the user.

Post Reply