SDS2 Parametric API
 All Classes Namespaces Functions Variables Pages
List of all members
Component.Component Class Reference

Components provide a way to extend the functionality of members using the Parametric API in a dynamic way that can't be recreated with a normal parametric. More...

Inheritance diagram for Component.Component:
Designable.ProcessableComponent.ProcessableComponent HashingComponent.HashingComponent UnreadableComponentProxy.UnreadableComponentProxy Designable.ProcessableComponent.EndComponent

Methods defined here:

def Add
def CanBeCopiedToOtherMembers
def Clone
def CreateDependentMaterial
def CreateDependentMaterialOther
def CreateHoleMatch
def CreateHoleMatchOnMainMaterial
def CreateHoleMatchOnMainMaterialOther
def CreateHoleMatchOther
def CreateHoleOnMainMaterial
def CreateHoleOnMainMaterialOther
def CreateMaterial
def CreateMaterialOther
def CreateUI
def CreateViews
def Description
def Design
def Edit
def EditBeforeAddingToMember
def Finalize
def GetGraphical
def GetMemberNumber
def GetReferencePoint
def GetState
def GraphicalCreateDependentMaterial
def GraphicalCreateDependentMaterialOther
def GraphicalCreateHoleMatch
def GraphicalCreateHoleMatchOther
def GraphicalCreateMaterial
def GraphicalCreateMaterialOther
def GraphicalProcessFinal
def GraphicalProcessFinalOther
def Hash
def IsAllowedOnMember
def IsEraseable
def IsValid
def Load
def Modifies
def MultiEdit
def OnBoltEvent
def OnErase
def OnGraphicalToggle
def OnMaterialEvent
def OnMaterialNonGraphicalEvent
def OnMemberCopy
def OnMemberMirrorCopy
def OnWeldEvent
def ProcessFinal
def ProcessFinalOther
def Reset
def Save
def SetGraphical
def SetReferencePoint
def SetReferencePointForMemberUI
def __getinitargs__
def __getstate__
def __init__
def __reduce__
def __setstate__

Data descriptors defined here:

def description
 Text displayed in the model tree and during hover.
def graphical
 True iff the component is graphical.
def member_number
 Number of the member the component is attached to or 0 if unattached.
def ref_point
 Reference point in member coordinates.
def uuid
 Unique id assigned to a component when it is added to a member.

Data and other attributes defined here:

int __instance_size__ = 40
 __safe_for_unpickling__ = True

Data descriptors inherited from Boost.Python.instance:

def __dict__
def __weakref__

Data and other attributes inherited from Boost.Python.instance:

def __new__

Detailed Description

Components provide a way to extend the functionality of members using the Parametric API in a dynamic way that can't be recreated with a normal parametric.

For example a user might use a parametric to cut a dog bone into a wide flange material. The drawback of using a parametric for this purpose is that the cut will turn the material to user material, thus preventing it from dynamically updating on subsequent changes in the job. If the user wants to change the shape of the material they have to regenerate the material without the cut and then run the parametric again.

Components solve this problem by being stored with a member and executing every time the member goes through process. Any material that is created or changed due to the component is treated as a system operation.

Components fall into the more general plugin extenstion framework (other plugins include commands and custom members). As such, the normal plugin rules apply. For SDS2 to recognize the plugin as a component the source code must define a subclass of Component.Component. Use Component.RegisterComponentType to make the component available in the selection dialog of the component add tool.

Components must be pickleable. Keep in mind components work best if all the persistent data is relative to the member. For example, consider storing points in member coordinates rather than global coordinates. Also, consider rotations and other attributes to be relative to the member so that copying the component to other members has the best chance of behaving as the user expects.

Unlike custom members, SDS2 does not expect anything special to happen in the init method except the normal initializing of super classes appropriately.

Most of the Component methods fall into four categories of operations that all components should support.

Before a component will show up as a choice in the selection dialog of the component add tool it must call Component.RegisterComponentType. Components that don't register can still be added parametrically via Component.AddPairsOfComponentsToMember.

There are three methods used in the component add tool:

SDS2 users are used to manually editing a material in a connection or turning a connection graphical and having the current geometry remain unchanged after processing the member. Components provide this functionality by propagating a graphical change on one piece of the component to all the other parts of the component via OnMaterialEvent, OnBoltEvent, and OnWeldEvent. The default implementation of each of these methods is to set the component to graphical. When the component is written to disk SDS2 will call OnGraphicalToggle if the component's graphical flag has changed. By default OnGraphicalToggle will change all the material, bolts, and welds that the component created to user material via AllOrNoneGraphical.SetPluginSystemGenerated(self, False). When a material is user material process will not throw it away. As such components should not recreate new material on top of the existing user material during process. And by default it won't. However, in most cases components will want to recreate holes on main material even when the component is graphical by implementing the appropriate method.

The last point is worth repeating. In general the only things components should create when they are graphical are the holes on any main material that the component did not create. There are two reasons for this. First, holes are different than materials, bolts, and welds in that SDS2 does not store who created the hole. This makes it impossible to have a callback to the component when a hole is edited (materials with holes will fire material events if one of its holes is edited but that only helps if a component created the material). As such the component has no idea if these types of holes have been edited, deleted or should be recreated if the material needs to be regenerated as it goes through process. This leads the the second reason holes are special for main material. SDS2 wants to keep main material as system material when holes are edited, which means the material will be regenerated when it goes through process. Since a component won't know if a hole has been deleted it is left with two choices. 1. create a new hole for the one that was previously deleted, or 2. not add a hole that should be present. See the Process section in the class documentation for more details.

With the exception of adding holes when graphical, components inherit the basic 'all or nothing' graphical behavior (i.e. everything involved with the component is system, or everything is user, but no mix of the two) without writing any special code. However, in order to allow the user to turn the component back to system, the component must provide a way to toggle the graphical attribute on the stand alone edit screen (Edit) and the member edit screen.

Some operations on materials should not result in user material, e.g. changing the color. OnMaterialNonGraphicalEvent will be called in these cases. The default implementation does nothing and is suitable for most cases. This default implementation will be problematic for plugins that do not attempt to reuse material guids during material creation because nongraphical user changes like color and surface finish will be lost. In this case the fix is to reuse material guids during material creation, not to override OnMaterialNonGraphicalEvent to turn the plugin graphical.

See MemberBase.ReuseAllMaterialByCreator to reuse guids. Better yet, inherit from Designable.ProcessableComponent which is able to reuse guids implicitly when used appropriately.


| Process

Once a component is added to a member the member will be marked for process. During process there are many methods that could potentially be called and none of them should block process for user input. Beware components are different than custom members in that there is no guarantee the same instance will be used throughout the entire process. Hence, any data that is shared between different methods should be stored as part of the persistent state of the component.

As far as components are concerned there are three phases of process:

Method resolution order

Component
Boost.Python.instance
builtin.object

Constructor & Destructor Documentation

def Component.Component.__init__ (   arg1)

Member Function Documentation

def Component.Component.__dict__ (   args)
def Component.Component.__getinitargs__ (   arg1)
def Component.Component.__getstate__ (   arg1)
def Component.Component.__new__ (   args)
T.__new__(S, ...) -> a new object with type S, a subtype of T
 __new__ = <built-in method __new__ of Boost.Python.class object>

Reimplemented in Designable.ProcessableComponent.ProcessableComponent, UnreadableComponentProxy.UnreadableComponentProxy, HashingComponent.HashingComponent, and Designable.ProcessableComponent.EndComponent.

def Component.Component.__reduce__ (   args)
def Component.Component.__setstate__ (   arg1,
  arg2 
)
Returns
Instance of type None
def Component.Component.__weakref__ (   args)
def Component.Component.Add (   arg1,
  member_number 
)
Returns
Instance of type bool
     Accept user input before launching the components edit dialog.
     The default behavior is to call SetReferencePointForMemberUI().
Note
Additional signature: Add( (Component)arg1, (int)member_number) -> bool

Reimplemented in Designable.ProcessableComponent.ProcessableComponent, Designable.ProcessableComponent.EndComponent, UnreadableComponentProxy.UnreadableComponentProxy, and HashingComponent.HashingComponent.

def Component.Component.CanBeCopiedToOtherMembers (   arg1)
Returns
Instance of type bool
     Return True iff this component can be copied to other members.
     By default any component can be copied to any member but components
     can override this method if that behavior is inappropriate.
Note
Additional signature: CanBeCopiedToOtherMembers( (Component)arg1) -> bool

Reimplemented in Designable.ProcessableComponent.ProcessableComponent, Designable.ProcessableComponent.EndComponent, UnreadableComponentProxy.UnreadableComponentProxy, and HashingComponent.HashingComponent.

def Component.Component.Clone (   arg1)
Returns
Instance of type object
     Return a deep copy of the component. The default implementation
     is suitable for most components.

Reimplemented in Designable.ProcessableComponent.ProcessableComponent, Designable.ProcessableComponent.EndComponent, UnreadableComponentProxy.UnreadableComponentProxy, and HashingComponent.HashingComponent.

def Component.Component.CreateDependentMaterial (   arg1)
Returns
Instance of type bool
     Called when the component is *not* graphical during the third material
     creation phase of process (also referred to as the 'bolt match
     phase'). This method should bolt match any holes on the component's
     member that were created during the hole match.
     See the Process section in the class documentation for more details.
Note
Additional signature: CreateDependentMaterial( (Component)arg1) -> bool

Reimplemented in Designable.ProcessableComponent.ProcessableComponent, UnreadableComponentProxy.UnreadableComponentProxy, HashingComponent.HashingComponent, and Designable.ProcessableComponent.EndComponent.

def Component.Component.CreateDependentMaterialOther (   arg1,
  other_member_number 
)
Returns
Instance of type bool
     Called when the component is *not* graphical during the third material
     creation phase of process (also referred to as the 'bolt match phase').
     This method should bolt match any holes on the specified member that
     were created during the hole match phase.
     See the Process section in the class documentation for more details.
Note
Additional signature: CreateDependentMaterialOther( (Component)arg1, (int)other_member_number) -> bool

Reimplemented in UnreadableComponentProxy.UnreadableComponentProxy, and HashingComponent.HashingComponent.

def Component.Component.CreateHoleMatch (   arg1)
Returns
Instance of type bool
     Called when the component is *not* graphical during the second
     material creation phase of process. This method should create
     holes on the component's member by matching them to holes
     created on a different member.
     See the Process section in the class documentation for more details.
Note
Additional signature: CreateHoleMatch( (Component)arg1) -> bool

Reimplemented in Designable.ProcessableComponent.ProcessableComponent, UnreadableComponentProxy.UnreadableComponentProxy, HashingComponent.HashingComponent, and Designable.ProcessableComponent.EndComponent.

def Component.Component.CreateHoleMatchOnMainMaterial (   arg1)
Returns
Instance of type bool
     Called from the default implementation of GraphicalCreateHoleMatch.
     Graphical components should still create holes on main material.
     See the Graphical and Process sections in the class documentation for more details.

Reimplemented in Designable.ProcessableComponent.ProcessableComponent, UnreadableComponentProxy.UnreadableComponentProxy, HashingComponent.HashingComponent, and Designable.ProcessableComponent.EndComponent.

def Component.Component.CreateHoleMatchOnMainMaterialOther (   arg1,
  other_member_number 
)
Returns
Instance of type bool
     Called from the default implementation of GraphicalCreateHoleMatchOther.
     Graphical components should still create holes on main material.
     See the Graphical and Process sections in the class documentation for more details.

Reimplemented in UnreadableComponentProxy.UnreadableComponentProxy, and HashingComponent.HashingComponent.

def Component.Component.CreateHoleMatchOther (   arg1,
  other_member_number 
)
Returns
Instance of type bool
     Called when the component is *not* graphical during the second
     material creation phase of process. This method should create
     holes on the specified member by matching them to holes
     created on a different member.
     See the Process section in the class documentation for more details.
Note
Additional signature: CreateHoleMatchOther( (Component)arg1, (int)other_member_number) -> bool

Reimplemented in UnreadableComponentProxy.UnreadableComponentProxy, and HashingComponent.HashingComponent.

def Component.Component.CreateHoleOnMainMaterial (   arg1)
Returns
Instance of type None
     Called as part of the default implementation for GraphicalCreateMaterial.

Reimplemented in Designable.ProcessableComponent.ProcessableComponent, UnreadableComponentProxy.UnreadableComponentProxy, HashingComponent.HashingComponent, and Designable.ProcessableComponent.EndComponent.

def Component.Component.CreateHoleOnMainMaterialOther (   arg1,
  other_member_number 
)
Returns
Instance of type None
     Called from the default implementation of GraphicalCreateMaterialOther
     when the component is graphical during the first material
     creation phase of process. Components should still create holes on
     material they did not create even when the component is graphical.

Reimplemented in UnreadableComponentProxy.UnreadableComponentProxy, and HashingComponent.HashingComponent.

def Component.Component.CreateMaterial (   arg1)
Returns
Instance of type None
     Called when the component is *not* graphical during the first material
     creation phase of process (also referred to as the 'independent material
     phase'). This method should create all the material, bolts, holes,
     and welds on the component's member that don't require other materials to
     already exist in the job.
     See the Process section in the class documentation for more details.
Note
Additional signature: CreateMaterial( (Component)arg1) -> None

Reimplemented in Designable.ProcessableComponent.ProcessableComponent, UnreadableComponentProxy.UnreadableComponentProxy, HashingComponent.HashingComponent, and Designable.ProcessableComponent.EndComponent.

def Component.Component.CreateMaterialOther (   arg1,
  other_member_number 
)
Returns
Instance of type None
     Called when the component is *not* graphical in the first material
     creation phase of process (also referred to as the 'independent material
     phase'). This method should create all the material, bolts, holes, and
     welds on the specified member that don't require other materials to
     already exist in the job.
     See the Process section in the class documentation for more details.
Note
Additional signature: CreateMaterialOther( (Component)arg1, (int)other_member_number) -> None

Reimplemented in UnreadableComponentProxy.UnreadableComponentProxy, and HashingComponent.HashingComponent.

def Component.Component.CreateUI (   arg1,
  arg2 
)
Returns
Instance of type None
     A method that must be provided by the implementer of the
     component. Called by Member Edit framework to build the
     component's edit controls on the Member Edit screen.
Note
Additional signature: CreateUI( (Component)arg1, (MemberEditController)arg2) -> None

Reimplemented in Designable.ProcessableComponent.ProcessableComponent, and Designable.ProcessableComponent.EndComponent.

def Component.Component.CreateViews (   arg1)
def Component.Component.Description (   arg1)
Returns
Instance of type str
     Return the text used in the model tree and during hover.
Note
Additional signature: Description( (Component)arg1) -> str

Reimplemented in Designable.ProcessableComponent.ProcessableComponent, HashingComponent.HashingComponent, UnreadableComponentProxy.UnreadableComponentProxy, and Designable.ProcessableComponent.EndComponent.

def Component.Component.description (   args)

Text displayed in the model tree and during hover.

Components can customize the description by implementing Description.

Reimplemented in Designable.ProcessableComponent.ProcessableComponent, UnreadableComponentProxy.UnreadableComponentProxy, HashingComponent.HashingComponent, and Designable.ProcessableComponent.EndComponent.

def Component.Component.Design (   arg1)
Returns
Instance of type bool
     Called during process when the component's member is marked for
     process. Design will be called before any of the material creation
     methods. The component should know all the material that will be
     created upon completion. Beware, it is possible for the component
     to create material on other members without process explicitly
     calling Design first. See the Process section in the class
     documentation for more details.
Note
Additional signature: Design( (Component)arg1) -> bool

Reimplemented in Designable.ProcessableComponent.ProcessableComponent, UnreadableComponentProxy.UnreadableComponentProxy, HashingComponent.HashingComponent, and Designable.ProcessableComponent.EndComponent.

def Component.Component.Edit (   arg1)
Returns
Instance of type bool
     Prompt the user with a stand alone single edit screen. Return Trueto indicate the user closed the screen by choosing the 'OK' button.
Note
Additional signature: Edit( (Component)arg1) -> bool

Reimplemented in Designable.ProcessableComponent.ProcessableComponent, HashingComponent.HashingComponent, Designable.ProcessableComponent.EndComponent, and UnreadableComponentProxy.UnreadableComponentProxy.

def Component.Component.EditBeforeAddingToMember (   self,
  member_number 
)
Returns
Instance of type bool
     The edit screen before a component is actually added to the member
     during the component add tool. The default implementation is to call
     the normal Edit method.
Note
Additional signature: EditBeforeAddingToMember( (Component)self, (int)member_number) -> bool

Reimplemented in Designable.ProcessableComponent.ProcessableComponent, Designable.ProcessableComponent.EndComponent, UnreadableComponentProxy.UnreadableComponentProxy, and HashingComponent.HashingComponent.

def Component.Component.Finalize (   arg1)
Returns
Instance of type None
     A method that must be provided by the implementer of the
     component. Perform any clean-up required by the component
     during Member Edit. (E.g. del the User Interface.)
Note
Additional signature: Finalize( (Component)arg1) -> None

Reimplemented in Designable.ProcessableComponent.ProcessableComponent, Designable.ProcessableComponent.EndComponent, UnreadableComponentProxy.UnreadableComponentProxy, and HashingComponent.HashingComponent.

def Component.Component.GetGraphical (   arg1)
def Component.Component.GetMemberNumber (   arg1)
def Component.Component.GetReferencePoint (   arg1)
def Component.Component.GetState (   arg1)
Returns
Instance of type object
     A method that must be provided by the implementer of the
     component. This method should always return a different instance
     of the same object type.  That object must provide a __eq__ method
     which returns True when compared with an object that has the same
     state as far as process is concerned.
Note
Additional signature: GetState( (Component)arg1) -> None

Reimplemented in Designable.ProcessableComponent.ProcessableComponent, HashingComponent.HashingComponent, UnreadableComponentProxy.UnreadableComponentProxy, and Designable.ProcessableComponent.EndComponent.

def Component.Component.graphical (   args)

True iff the component is graphical.

By default a graphical component will not recreate new solids during process.

Reimplemented in Designable.ProcessableComponent.ProcessableComponent, UnreadableComponentProxy.UnreadableComponentProxy, HashingComponent.HashingComponent, and Designable.ProcessableComponent.EndComponent.

def Component.Component.GraphicalCreateDependentMaterial (   arg1)
Returns
Instance of type bool
     Called when the component is graphical during the third material
     creation phase of process (also referred to as the 'bolt match
     phase'). This method should bolt match any holes on the component's
     member that were created during the hole match phase when the
     component is graphical. The defaul implementation does nothing
     which should be suitable for most components.
     See the Graphical and Process sections in the class documentation for more details.

Reimplemented in Designable.ProcessableComponent.ProcessableComponent, UnreadableComponentProxy.UnreadableComponentProxy, HashingComponent.HashingComponent, and Designable.ProcessableComponent.EndComponent.

def Component.Component.GraphicalCreateDependentMaterialOther (   arg1,
  other_member_number 
)
Returns
Instance of type bool
     Called when the component is graphical during the third material creation
     phase of process (also referred to as the 'bolt match phase'). The
     default implementation does nothing and is likely the correct behavior
     for most components.
     See the Graphical and Process sections in the class documentation for more details.

Reimplemented in UnreadableComponentProxy.UnreadableComponentProxy, and HashingComponent.HashingComponent.

def Component.Component.GraphicalCreateHoleMatch (   arg1)
Returns
Instance of type bool
     Called when the component is graphical during the second material
     creation phase of process. This method should create holes on
     the component's member by matching them to holes created on a
     different member. The default implementation calls
     CreateHoleMatchOnMainMaterial because graphical components
     should still create holes on main material.
     See the Graphical and Process sections in the class documentation for more details.

Reimplemented in Designable.ProcessableComponent.ProcessableComponent, UnreadableComponentProxy.UnreadableComponentProxy, HashingComponent.HashingComponent, and Designable.ProcessableComponent.EndComponent.

def Component.Component.GraphicalCreateHoleMatchOther (   arg1,
  other_member_number 
)
Returns
Instance of type bool
     Called when the component is graphical during the second material
     creation phase of process. This method should create holes on
     the specified member by matching them to holes created on a
     different member. The default implementation calls
     CreateHoleMatchOnMainMaterialOther because graphical components
     should still create holes on main material.
     See the Graphical and Process sections in the class documentation for more details.

Reimplemented in UnreadableComponentProxy.UnreadableComponentProxy, and HashingComponent.HashingComponent.

def Component.Component.GraphicalCreateMaterial (   arg1)
Returns
Instance of type None
     Called when the component is graphical during the first material
     creation phase of process (also referred to as the 'independent material
     phase'). This method should create all the material, bolts, holes,
     and welds on the component's member when the component is graphical.
     The default implementation calls CreateHoleOnMainMaterial
     because graphical components should still create holes on
     main material.
     See the Graphical and Process sections in the class documentation for more details.

Reimplemented in Designable.ProcessableComponent.ProcessableComponent, UnreadableComponentProxy.UnreadableComponentProxy, HashingComponent.HashingComponent, and Designable.ProcessableComponent.EndComponent.

def Component.Component.GraphicalCreateMaterialOther (   arg1,
  other_member_number 
)
Returns
Instance of type None
     Called when when the component is graphical during the first material
     creation phase of process. The default implementation simply calls
     CreateHoleOnMainMaterialOther.
     See the Graphical and Process sections in the class documentation for more details.

Reimplemented in UnreadableComponentProxy.UnreadableComponentProxy, and HashingComponent.HashingComponent.

def Component.Component.GraphicalProcessFinal (   arg1)
Returns
Instance of type None
     Called when the component is graphical as the last phase of
     process. The default implementation does nothing which should be
     suitable for most components.
     See the Graphical and Process sections in the class documentation for more details.

Reimplemented in Designable.ProcessableComponent.ProcessableComponent, UnreadableComponentProxy.UnreadableComponentProxy, HashingComponent.HashingComponent, and Designable.ProcessableComponent.EndComponent.

def Component.Component.GraphicalProcessFinalOther (   arg1,
  other_member_number 
)
Returns
Instance of type None
     Called when the component is graphical as the last phase of
     process. The default implementation does nothing which should be
     suitable for most components.
     See the Graphical and Process sections in the class documentation for more details.

Reimplemented in UnreadableComponentProxy.UnreadableComponentProxy, and HashingComponent.HashingComponent.

def Component.Component.Hash (   arg1)
def Component.Component.IsAllowedOnMember (   arg1,
  member_number 
)
Returns
Instance of type bool
     Return True iff this component is allowed on the specified member.
     By default any component is allowed on any member but if a
     component should only be added to beams this method should be
     overridden to return True iff the specified member is a beam.
Note
Additional signature: IsAllowedOnMember( (Component)arg1, (int)member_number) -> bool

Reimplemented in Designable.ProcessableComponent.ProcessableComponent, UnreadableComponentProxy.UnreadableComponentProxy, and HashingComponent.HashingComponent.

def Component.Component.IsEraseable (   arg1)
Returns
Instance of type bool
     Returns a boolean which determines whether the component is removed
     from the member on erase or turned graphical
Note
Additional signature: IsEraseable( (Component)arg1) -> bool

Reimplemented in Designable.ProcessableComponent.ProcessableComponent, UnreadableComponentProxy.UnreadableComponentProxy, Designable.ProcessableComponent.EndComponent, and HashingComponent.HashingComponent.

def Component.Component.IsValid (   arg1)
Returns
Instance of type bool
     Indicates whether the state of input to the component's user
     interface is in a valid state. Default implementation always
     returns true.
Note
Additional signature: IsValid( (Component)arg1) -> bool

Reimplemented in Designable.ProcessableComponent.ProcessableComponent, Designable.ProcessableComponent.EndComponent, UnreadableComponentProxy.UnreadableComponentProxy, and HashingComponent.HashingComponent.

def Component.Component.Load (   arg1)
Returns
Instance of type None
     A method that must be provided by the implementer of the
     component. Initializes the user interface elements created in
     CreateUI with values from the component.
Note
Additional signature: Load( (Component)arg1) -> None

Reimplemented in Designable.ProcessableComponent.ProcessableComponent, Designable.ProcessableComponent.EndComponent, UnreadableComponentProxy.UnreadableComponentProxy, and HashingComponent.HashingComponent.

def Component.Component.member_number (   args)
def Component.Component.Modifies (   arg1)
Returns
Instance of type list
     Return a list of member numbers that this custom member adds
     materials, holes, bolts, or welds to. This list has a number of
     important uses including ensuring members are processed, graphical
     flags are propagated, and locks are handled correctly. This method
     is called regularly, and as such, should return quickly. Components
     that take a linear amount of time to compute this list should consider
     caching the return value as part of the stored state of the component
     and validating this cache on subsequent calls.
Note
Additional signature: Modifies( (Component)arg1) -> list

Reimplemented in Designable.ProcessableComponent.ProcessableComponent, UnreadableComponentProxy.UnreadableComponentProxy, HashingComponent.HashingComponent, and Designable.ProcessableComponent.EndComponent.

def Component.Component.MultiEdit (   arg1,
  list_of_other_components_to_edit 
)
Returns
Instance of type bool
     Prompt the user with a stand alone multi edit screen. Return
     True to indicate the user closed the screen by choosing the
     'OK' button. Components do not support multi edit by default.
Note
Additional signature: MultiEdit( (Component)arg1, (list)list_of_other_components_to_edit) -> bool

Reimplemented in Designable.ProcessableComponent.ProcessableComponent, UnreadableComponentProxy.UnreadableComponentProxy, Designable.ProcessableComponent.EndComponent, and HashingComponent.HashingComponent.

def Component.Component.OnBoltEvent (   arg1,
  bolt_guid,
  bolt_event_id 
)
Returns
Instance of type None
     Called when one of the bolts that the component created generates
     an Event.BoltEvent. This method plays an important part in managing
     the graphical state of a component. The default implementation is
     AllOrNoneGraphical.SetPluginSystemGenereated(self, False)
     It should not perform any user interaction
Note
Additional signature: OnBoltEvent( (Component)arg1, (Uuid)bolt_guid, (BoltEvent)bolt_event_id) -> None

Reimplemented in UnreadableComponentProxy.UnreadableComponentProxy, and HashingComponent.HashingComponent.

def Component.Component.OnErase (   arg1)
Returns
Instance of type None
     Called before a component is removed from the job
Note
Additional signature: OnErase( (Component)arg1) -> None

Reimplemented in Designable.ProcessableComponent.ProcessableComponent, UnreadableComponentProxy.UnreadableComponentProxy, HashingComponent.HashingComponent, and Designable.ProcessableComponent.EndComponent.

def Component.Component.OnGraphicalToggle (   arg1)
Returns
Instance of type None
     Propogate the component's graphical state change to all the objects
     that the component created. The default implementation is
     AllOrNoneGraphical.SetPluginSystemGenerated(self, not self.graphical)
     The method must normally be explicilty invoked from python for it to fire.
     It should not perform any user interaction.
Note
Additional signature: OnGraphicalToggle( (Component)arg1) -> None

Reimplemented in Designable.ProcessableComponent.ProcessableComponent, UnreadableComponentProxy.UnreadableComponentProxy, HashingComponent.HashingComponent, and Designable.ProcessableComponent.EndComponent.

def Component.Component.OnMaterialEvent (   arg1,
  mtrl_guid,
  material_event_id 
)
Returns
Instance of type None
     Called when one of the materials that the component created generates
     an Event.MaterialEvent. This method plays an important part in managing
     the graphical state of a component. The default implementation is
     AllOrNoneGraphical.SetPluginSystemGenereated(self, False)
     It should not perform any user interaction
Note
Additional signature: OnMaterialEvent( (Component)arg1, (Uuid)mtrl_guid, (MaterialEvent)material_event_id) -> None

Reimplemented in UnreadableComponentProxy.UnreadableComponentProxy, and HashingComponent.HashingComponent.

def Component.Component.OnMaterialNonGraphicalEvent (   arg1,
  mtrl_guid,
  material_event_id 
)
Returns
Instance of type None
     Called when one of the component created materials is changed
     in a way that does not typically result in user material, e.g
     a user changes the color. The default implementation does nothing.
Note
Additional signature: OnMaterialNonGraphicalEvent( (Component)arg1, (Uuid)mtrl_guid, (MaterialEvent)material_event_id) -> None

Reimplemented in Designable.ProcessableComponent.ProcessableComponent, UnreadableComponentProxy.UnreadableComponentProxy, Designable.ProcessableComponent.EndComponent, and HashingComponent.HashingComponent.

def Component.Component.OnMemberCopy (   arg1)
Returns
Instance of type None
     Called after a component is copied to a new member. This method should
     update any state that might change based on being copied to a new member.
     It should not perform any user interaction.
Note
Additional signature: OnMemberCopy( (Component)arg1) -> None

Reimplemented in Designable.ProcessableComponent.ProcessableComponent, UnreadableComponentProxy.UnreadableComponentProxy, HashingComponent.HashingComponent, and Designable.ProcessableComponent.EndComponent.

def Component.Component.OnMemberMirrorCopy (   arg1,
  original_member_to_mirrored_member_transform 
)
Returns
Instance of type None
     Called when a member is copied and mirrored. This method should mirror
     any other atrributes appropriately given the specified transform. The
     default implementation mirrors ref_point attribute. It should
     not perform any user interaction.
Note
Additional signature: OnMemberMirrorCopy( (Component)arg1, (Transform3D)original_member_to_mirrored_member_transform) -> None

Reimplemented in Designable.ProcessableComponent.ProcessableComponent, UnreadableComponentProxy.UnreadableComponentProxy, Designable.ProcessableComponent.EndComponent, and HashingComponent.HashingComponent.

def Component.Component.OnWeldEvent (   arg1,
  weld_guid,
  weld_event_id 
)
Returns
Instance of type None
     Called when one of the welds that the component created generates
     an Event.WeldEvent. This method plays an important part in managing
     the graphical state of a component. The default implementation is
     AllOrNoneGraphical.SetPluginSystemGenereated(self, False)
     It should not perform any user interaction
Note
Additional signature: OnWeldEvent( (Component)arg1, (Uuid)weld_guid, (WeldEvent)weld_event_id) -> None

Reimplemented in UnreadableComponentProxy.UnreadableComponentProxy, and HashingComponent.HashingComponent.

def Component.Component.ProcessFinal (   arg1)
Returns
Instance of type None
     Called when the component is *not* graphical as the last phase of
     process. Components could use this method to erase temporary material
     used for fitting, resuing material guids, or any other clean up that
     needs to be done but wasn't in the other phases of process.
     See the Process section in the class documentation for more details.
Note
Additional signature: ProcessFinal( (Component)arg1) -> None

Reimplemented in Designable.ProcessableComponent.ProcessableComponent, UnreadableComponentProxy.UnreadableComponentProxy, HashingComponent.HashingComponent, and Designable.ProcessableComponent.EndComponent.

def Component.Component.ProcessFinalOther (   arg1,
  other_member_number 
)
Returns
Instance of type None
     Called when the component is *not* graphical as the last phase of
     process. Components could use this method to erase temporary material
     used for fitting, resuing material guids, or any other clean up that
     needs to be done but wasn't in the other phases of process.
     See the Process section in the class documentation for more details.
Note
Additional signature: ProcessFinalOther( (Component)arg1, (int)other_member_number) -> None

Reimplemented in UnreadableComponentProxy.UnreadableComponentProxy, and HashingComponent.HashingComponent.

def Component.Component.ref_point (   args)

Reference point in member coordinates.

When the component is hovered in modeling this point will be visualized with an indicator.

Reimplemented in Designable.ProcessableComponent.ProcessableComponent, UnreadableComponentProxy.UnreadableComponentProxy, HashingComponent.HashingComponent, and Designable.ProcessableComponent.EndComponent.

def Component.Component.Reset (   arg1)
Returns
Instance of type None
     A method that must be provided by the implementer of the
     component. Restores the values in the UI elements created
     in CreateUI to their initial values.
Note
Additional signature: Reset( (Component)arg1) -> None

Reimplemented in Designable.ProcessableComponent.ProcessableComponent, Designable.ProcessableComponent.EndComponent, UnreadableComponentProxy.UnreadableComponentProxy, and HashingComponent.HashingComponent.

def Component.Component.Save (   arg1)
Returns
Instance of type None
     A method that must be provided by the implementer of the
     component. Extracts the values in the UI elements created
     in CreateUI and sets them in the component.
Note
Additional signature: Save( (Component)arg1) -> None

Reimplemented in Designable.ProcessableComponent.ProcessableComponent, Designable.ProcessableComponent.EndComponent, UnreadableComponentProxy.UnreadableComponentProxy, and HashingComponent.HashingComponent.

def Component.Component.SetGraphical (   arg1,
  arg2 
)
def Component.Component.SetReferencePoint (   arg1,
  arg2 
)
def Component.Component.SetReferencePointForMemberUI (   arg1,
  member_number 
)
Returns
Instance of type bool
     Set the ref_point given the specified member and return True iff the
     operation should not be cancelled after any potential user input.
     This method is called when copying or moving a component and is
     also called in the default implementation of Add().
     The default behavior is to prompt the user for an arbitrary
     point in global coordinates and then convert that point to a
     point in the specified member's coordinate system.
Note
Additional signature: SetReferencePointForMemberUI( (Component)arg1, (int)member_number) -> bool

Reimplemented in Designable.ProcessableComponent.ProcessableComponent, UnreadableComponentProxy.UnreadableComponentProxy, and HashingComponent.HashingComponent.

def Component.Component.uuid (   args)

Member Data Documentation

int Component.Component.__instance_size__ = 40
staticprivate
Component.Component.__safe_for_unpickling__ = True
staticprivate