HasModel

This document is no longer available beyond version 21. Information can now be found here: HasModel for version 24

Applies to Altium Designer version: 21

Parent page: Library Query Functions - Components

Summary

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

Each component can be linked to models of Footprint, Simulation, PCB3D, Ibis, and Signal Integrity types. It is possible to link a component to more than one model of the same type, but only one model of each type can be selected as a component'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:

  • 'PCB3DLIB' - use this string to target a linked model whose Type property is PCB3D.
  • '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.

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 component. 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 components that are linked to a Footprint Model whose Name property is SOIC14; that Model does not have to be each component's Current Footprint Model (but it can be).

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

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

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

Returns all components that are linked to a Signal Integrity Model whose Name property is RES1; that Model does not have to be each component'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 components that are linked to a Simulation Model whose Name property is RESISTOR; that Model must be the Current Simulation Model for the component.

Tips

  1. Ensure that the scope of the search is set to Components, using the Search in field in the File Libraries Search dialog.
  2. When searching components, all SchLib and IntLib libraries - available, or along a defined search path - will be interrogated.
  3. All results are listed in the Query Results listing, back in the Components panel.
Note

The features available depend on your level of Altium Designer Software Subscription.