Query_Lang-LibraryFunctions_Components_HasModelHasModel_AD

Nexus message

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: 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.
If you find an issue, select the text/image and pressCtrl + Enterto send us your feedback.