HasModel

Now reading version 2.1. For the latest, read: HasModel for version 4
Applies to NEXUS Client versions: 1.1, 2.0, 2.1, 3.0, 3.1 and 3.2

This documentation page references Altium NEXUS/NEXUS Client (part of the deployed NEXUS solution), which has been discontinued. All your PCB design, data management and collaboration needs can now be delivered by Altium Designer and a connected Altium 365 Workspace. Check out the FAQs page for more information.

Parent page: Schematic Query Functions - Membership Checks

Summary

Returns each part object that is linked to (or references) a domain model whose properties comply with the Query.

Each part can be linked to models of Footprint, Simulation, Ibis, FPGA Pin, and Signal Integrity types. It is possible to link a part to more than one model of the same type, but only one model of each type can be selected as a part's Current Model.

Syntax

HasModel(ModelType : String,ModelName : String,CurrentModelOnly : Boolean) : Boolean/Boolean_String

The ModelType string specifies the Type property of a linked model and must be one of the strings from the following list:

  • 'PCBLIB' - use this string to target a linked model whose Type property is Footprint.
  • 'IBIS' - use this string to target a linked model whose Type property is Ibis Model.
  • 'SI' - use this string to target a linked model whose Type property is Signal Integrity.
  • 'SIM' - use this string to target a linked model whose Type property is Simulation.
  • 'FPGA'- use this string to target a linked model whole Type property is FPGA.

The ModelName string specifies the Name property of a linked Model.

The CurrentModelOnly parameter specifies whether or not the linked model has to be a Current Model of each part. When this is False, the linked model does not have to be a Current Model (but it still can be); when this is True, the linked model does have to be a Current Model.

Example Usage

HasModel('PCBLIB','SOIC14',False)
HasModel('PCBLIB','SOIC14',False) = True
HasModel('PCBLIB','SOIC14',False) = 'True'

Returns all part objects that are linked to a Footprint Model whose Name property is SOIC14; that Model does not have to be each part's Current Footprint Model (but it can be).

HasModel('PCBLIB','DIP14',True)
HasModel('PCBLIB','DIP14',True) = True

HasModel('PCBLIB','DIP14',True) = 'True'
Returns all part objects that are linked to a Footprint Model whose Name property is DIP14; that Model must be the Current Footprint Model for the part.

HasModel('SI','RES1',False)
HasModel('SI','RES1',False) = True
HasModel('SI','RES1',False) = 'True'

Returns all part objects that are linked to a Signal Integrity Model whose Name property is RES1; that Model does not have to be each Part's Current Signal Integrity Model (but it can be).

HasModel('SIM','RESISTOR',True)
HasModel('SIM','RESISTOR',True) = True
HasModel('SIM','RESISTOR',True) = 'True'

Returns all part objects that are linked to a Simulation Model whose Name property is RESISTOR; that Model must be the Current Simulation Model for the part.