Custom canned cycles

From ArcoWiki
Revision as of 14:38, 4 June 2018 by Slia (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

FormaForma


Immagine Interruzione pagina


Auto Cycle documentation



DMIS Syntax



CALL/EXTERN,DME,'AutoCycle','ALL','DEFAULT'



CALL/EXTERN,DME,'AutoCycle','ALL','DEFAULT'



Set the default algorithm for all the feature



CALL/EXTERN,DME,'AutoCycle','FeatureType','DEFAULT'



CALL/EXTERN,DME,'AutoCycle','FeatureType','DEFAULT'



FeatureType : ARC


| CIRCLE 


| CONE


| CPARLN


| CYLNDR


| EDGEPT


| ELLIPS


| LINE


| PLANE


| SPHERE


| TORUS



Interruzione pagina


CALL/EXTERN,DME,'AutoCycle','FeatureType','PATTERN','HELICAL',pitch,start_angle,tot_angle



CALL/EXTERN,DME,'AutoCycle','FeatureType','PATTERN','HELICAL',pitch, $


start_angle,tot_angle



FeatureType : ARC


| CIRCLE


| CONE


| CYLNDR


| ELLIPS


| SPHERE


| TORUS




pitch: double



start_angle : double


 ; 


tot_angle : double


   ;   


pitch rappresents how much the helix go up in 360° (length dimension)


start_angle is the start angle (angle dimension)


tot_angle is the tot angle (angle dimension)




Interruzione pagina


CALL/EXTERN,DME,'AutoCycle','FeatureType','PATTERN','HELICAL',pitch,start_angle,slice_angle,tot_angle



CALL/EXTERN,DME,'AutoCycle','FeatureType','PATTERN','HELICAL',pitch$


,start_angle,slice_angle,tot_angle



FeatureType : ARC


| CIRCLE


| CONE


| CYLNDR


| ELLIPS


| SPHERE


| TORUS




pitch : double



slice_angle : double


; 


start_angle : double



tot_angle : double


   ; 



pitch rappresents how much the helix go up in 360° (length dimension)


start_angle is the start angle (angle dimension)


tot_angle is the tot angle (angle dimension)


slice_angle is the segment angle (angle dimension)




Interruzione pagina


CALL/EXTERN,DME,'AutoCycle','FeatureType','PATTERN','DEFAULT',start_angle,slice_angle



CALL/EXTERN,DME,'AutoCycle','FeatureType','PATTERN','DEFAULT',start_angle $


,slice_angle



FeatureType : CYLNDR


           | CONE 



start_angle : double



slice_angle : double




start_angle is the start angle (angle dimension)


slice_angle is the segment angle (angle dimension)



CALL/EXTERN,DME,'AutoCycle','FeatureType','BOUNDED','DEFAULT','feature_name',is_actual,offset,distance,start_angle,slice_angle



CALL/EXTERN,DME,'AutoCycle','FeatureType','BOUNDED','DEFAULT','feature_name' $


,is_actual,offset,distance,start_angle,slice_angle



FeatureType : CYLNDR


          | CONE 



feature_name: string



is_actual : .TRUE.


   | .FALSE. 


   ; 


distance : double


  ; 


offset : double


; 


start_angle : double


     ; 


slice_angle : double


     ; 



feature_name is the name of the feature whose application point will be used as feature_type application point


is_actual is a boolean value rappresenting if the nominal or actual part must be used.


offset is the offset from the feature application point (length dimension)


distance is the height of the feature (length dimension)


start_angle is the start angle (angle dimension)


slice_angle is the segment angle (angle dimension)


CALL/EXTERN,DME,'AutoCycle','FeatureType','BOUNDED','HELICAL','feature_name',is_actual,offset,distance,pitch,start_angle,tot_angle



CALL/EXTERN,DME,'AutoCycle','FeatureType','BOUNDED','HELICAL','feature_name',is_actual,offset,distance,pitch,start_angle,tot_angle



FeatureType : ARC


| CIRCLE


| CONE


| CYLNDR


| ELLIPS


| SPHERE


| TORUS



feature_name : string



is_actual : .TRUE.


   | .FALSE. 


   ; 


distance : double


  ;  


offset : double


; 


pitch : double



start_angle : double


     ; 


tot_angle : double


   ; 



feature_name is the name of the feature whose application point will be used as feature_type application point


is_actual is a boolean value rappresenting if the nominal or actual part must be used.


offset is the offset from the feature application point (length dimension)


distance is the height of the feature (length dimension)


pitch rappresents how much the helix go up in 360° (length dimension)


start_angle is the start angle (angle dimension)


tot_angle is the tot angle (angle dimension)




Interruzione pagina


CALL/EXTERN,DME,'AutoCycle','FeatureType','BOUNDED','HELICAL','feature_name',is_actual,offset,distance,pitch,start_angle,slice_angle,tot_angle



CALL/EXTERN,DME,'AutoCycle','FeatureType','BOUNDED','HELICAL','feature_name' $


,is_actual,offset,distance,pitch,start_angle,slice_angle,tot_angle



FeatureType : ARC


 | CIRCLE 


| CONE


| CYLNDR


| ELLIPS


| SPHERE


| TORUS




feature_name : string


; 



is_actual : .TRUE.


   | .FALSE. 


   ; 



distance : double


  ; 



offset : double


; 



pitch : double




slice_angle : double


     ; 



start_angle : double


     ; 



tot_angle : double


   ; 



feature_name is the name of the feature whose application point will be used as feature_type application point


is_actual is a boolean value rappresenting if the nominal or actual part must be used.


offset is the offset from the feature application point (length dimension)


distance is the height of the feature (length dimension)


pitch rappresents how much the helix go up in 360° (length dimension)


start_angle is the start angle (angle dimension)


tot_angle is the tot angle (angle dimension)


slice_angle is the segment angle (angle dimension)


Interruzione pagina


CALL/EXTERN,DME,'AutoCycle','PLANE','BOUNDED','SQUARE_BOX',length,height



CALL/EXTERN,DME,'AutoCycle','PLANE','BOUNDED','SQUARE_BOX',length,height



length : double


; 



height : double


      ; 



length is the square base in which the points must be measured (length dimension)


height is the square height in which the points must be measured (length dimension)



CALL/EXTERN,DME,'AutoCycle','PLANE','BOUNDED','SQUARE_GRID',length,pitch,number_of_pitches



CALL/EXTERN,DME,'AutoCycle','PLANE','BOUNDED','SQUARE_GRID',length,pitch, $


number_of_pitches



length : double




pitch : double


     ; 



number_of_pitches : int


          ; 



length is the square base in which the points must be measured (length dimension)


pitch is the height of the pitch (length dimension)


number_of_pitches is the number of pitches




Interruzione pagina


CALL/EXTERN,DME,'AutoCycle',PLANE,'PATTERN','RADIAL',radius,start_angle,slice_angle



CALL/EXTERN,DME,'AutoCycle',PLANE,'PATTERN','RADIAL',radius,start_angle,slice_angle



radius : double



start_angle : double


    ; 



slice_angle : double


    ; 



radius is the circle radius (length dimension)


start_angle is the start angle (angle dimension)


slice_angle is the segment angle (angle dimension)



CALL/EXTERN,DME,'AutoCycle','PLANE','BOUNDED','RADIAL',inner_radius,outer_radius,start_angle,slice_angle



CALL/EXTERN,DME,'AutoCycle','PLANE','BOUNDED','RADIAL',inner_radius,outer_radius, $


start_angle,slice_angle



inner_radius : double


   ; 



outer_radius : double


       ; 



start_angle : double


 ; 



slice_angle : double


     ; 



inner_radius is the radius of the inner circle (length dimension)


outer_radius is the radius of the outer circle (length dimension)


start_angle is the start angle (angle dimension)


slice_angle is the segment angle (angle dimension)




Interruzione pagina


CALL/EXTERN,DME,'AutoCycle','PLANE','BOUNDED','RANDOM_RADIAL',inner_radius,outer_radius,start_angle,slice_angle



CALL/EXTERN,DME,'AutoCycle','PLANE','BOUNDED','RANDOM_RADIAL',inner_radius,$


outer_radius,start_angle,slice_angle



inner_radius : double


      ; 



outer_radius : double


            ; 



start_angle : double


     ; 



slice_angle : double


     ; 



inner_radius is the radius of the inner circle (length dimension)


outer_radius is the radius of the outer circle (length dimension)


start_angle is the start angle (angle dimension)


slice_angle is the segment angle (angle dimension)


Interruzione pagina


Database



New Structures and enumerators


Inserimento immagine in corso...ImmagineInserimento immagine in corso...Immagine




Interruzione pagina


New methods



DBStatus SetAutoCycleAlgorithm(DBSubFamilies feature_type, DBAutoCycleData data);


Set a new auto cycle algorithm for a specific algorithm type.


Returns DB_OK if the feature_type is a valid feature otherwise DB_EMERGENCY is returned.



DBAutoCycleData GetAutoCycleAlgorithm(DBSubFamilies feature_type);


Returns the current auto cycle algorithm for a specific feature. If no algorithm is set or the feature type is not valid a structure with the type set to DBAutoCycleAlgorithm_Default is returned.




DBStatus ResetAutoCycleAlgorithm(DBSubFamily feature_type);


Set the default algorithm for a specific feature.


Returns DB_OK if the feature_type is a valid feature otherwise DB_EMERGENCY is returned.



void ResetAntoCycleAlgorithms();


Set the default algorithm for all the features.



Database Structure fields



CALL/EXTERN,DME,'AutoCycle','ALL','DEFAULT'

•Type = DBAutoCycleAlgorithm_Default




CALL/EXTERN,DME,'AutoCycle','FeatureType','DEFAULT'

•Type = DBAutoCycleAlgorithm_Default




CALL/EXTERN,DME,'AutoCycle','FeatureType','PATTERN','HELICAL','FULL',pitch, number_of_pitches, start_angle

•Type = DBAutoCycleAlgorithm_PatternHelicalFull


•Pitch = helix pitch per 360 degrees.


•number_of_Pitches = number of full round (360 degrees)


•start_angle= is the starting angle of the helix in the current reference system



This cycle performs a measure along an helix of a certain "number_of_pitches" number of full 360 degrees round.


The "startAngle" parameter is used to define the starting position of the helix referred to the current working plane.


The helix pitch is "pitch".


In the DB the "slice_angle" parameter shall be set to 360.0.



CALL/EXTERN,DME,'AutoCycle','FeatureType','PATTERN','HELICAL','PARTIAL',pitch,start_angle,slice_angle,tot_angle

•Type = DBAutoCycleAlgorithm_PatternHelicalPartial


•Pitch = helix pitch per 360 degrees.


•start_angle= is the starting angle of the helix in the current reference system


•SliceAngle = is the portion of the helix on which the points are distributed


•TotAngle = is the total angle of the helix on which the slice angle will be reffiled by points


This cycle performs a measure along an helix of a certain number degrees ("totAngle") but the requested number of points will be distributed only in a section of the feature with the size of "sliceAngle".


The startAngle is used to define the starting position of the helix referred to the current working plane.


The helix pitch is "pitch".



CALL/EXTERN,DME,'AutoCycle','FeatureType','PATTERN','SECTION','FULL', pitch, number_of_pitches, start_angle



•Type = DBAutoCycleAlgorithm_PatternSectionFull


•start_angle= is the starting angle of the section in the current reference system


•Pitch = distance between sections.


•number_of_Pitches = number of sections


This cycle performs a measure along sections perpendicular to the axis of the feature.


The "startAngle" is used to define the starting position of the section in the current reference system, the points are distributed in a section with the size of "sliceAngle".


The requested number of points are distributed on a "number_of_Pitches" sections which are evenly distributed at mutual "pitch" distance.


In the DB the "slice_angle" parameter shall be set to 360.0.



CALL/EXTERN,DME,'AutoCycle','FeatureType','PATTERN','SECTION','PARTIAL', pitch, number_of_pitches, start_angle,slice_angle

•Type = DBAutoCycleAlgorithm_PatternSectionPartial


•Pitch = distance between sections.


•number_of_Pitches = number of sections


•start_angle= is the starting angle of the section in the current reference system


•SliceAngle = is the portion of the section on which the points are distribute


This cycle performs a measure along sections perpendicular to the axis of the feature.


The "startAngle" is used to define the starting position of the section in the current reference system, the points are distributed in a section with the size of "sliceAngle".


The requested number of points are distributed on a "number_of_Pitches" sections which are evenly distributed at mutual "pitch" distance.



CALL/EXTERN,DME,'AutoCycle','FeatureType','PATTERN','SECTION','OPTIMIZED',start_angle,slice_angle,height

•Type = DBAutoCycleAlgorithm_PatternSectionOptimized


•start_angle= is the starting angle of the section in the current reference system


•SliceAngle = is the portion of the section on which the points are distributed


•Height= is the height of the feature


This cycle performs a measure along sections perpendicular to the axis of the feature.


The "startAngle" is used to define the starting position of the section in the current reference system, the points are distributed in a section with the size of "sliceAngle".


The requested number of points are distributed on the largest portion of the feature.


When this cycle is applied, the feature is bounded by the "height" value.



CALL/EXTERN,DME,'AutoCycle','FeatureType','BOUNDED','SECTION','FULL', is_actual ,'feature_name', offset, pitch,number_of_pitches start_angle

•Type = DBAutoCycleAlgorithm_FeatureBoundedSectionFull


•is_actual= define if nominal or actual


•Feature_name= is the name of the bouding feature


•offset=is the distance from the bouding feature


•Pitch = distance between sections.


•number_of_Pitches = number of sections


•start_angle= is the starting angle of the section in the current reference system




This cycle performs a measure along sections perpendicular to the axis of the cylinder.


The "startAngle" is used to define the starting position of the section in the current reference system, the points are distributed in a section with the size of 360 degree.


The requested number of points are distributed on a "number_of_Pitches" sections which are evenly distributed at mutual "pitch" distance.


The starting point for the distribution is defined by the intersection between the axis and the bounding feature, moved by a an "offset" length along the axis itself (value in machine reference system).




CALL/EXTERN,DME,'AutoCycle','FeatureType','BOUNDED','SECTION','PARTIAL', is_actual ,'feature_name',offset,pitch,number_of_pitches,start_angle,slice_angle



•Type = DBAutoCycleAlgorithm_ FeatureBoundedSectionPartial


•is_actual= define if nominal or actual


•Feature_name= is the name of the bouding feature


•offset=is the distance from the bouding feature


•Pitch = distance between sections.


•number_of_Pitches = number of sections


•StartAngle = start_angle


•SliceAngle = is the portion of the section on which the points are distribute


This cycle performs a measure along sections perpendicular to the axis of the feature.


The "startAngle" is used to define the starting position of the section in the current reference system, the points are distributed in a section with the size of "sliceAngle".


The requested number of points are distributed on a "number_of_Pitches" sections which are evenly distributed at mutual "pitch" distance.


The starting point for the distribution is defined by the intersection between the axis and the bounding feature, moved by a an "offset" length along the axis itself (value in machine reference system).



CALL/EXTERN,DME,'AutoCycle','FeatureType','BOUNDED','SECTION','OPTIMIZED',is_actual,'feature_name',offset,start_angle,slice_angle,height

•Type = DBAutoCycleAlgorithm_FeatureBoundedSectionOptimized


•is_actual= define if nominal or actual


•Feature_name= is the name of the bouding feature


•offset=is the distance from the bouding feature


•start_angle= is the starting angle of the section in the current reference system


•SliceAngle = is the portion of the section on which the points are distributed


•Height= is the height of the feature


This cycle performs a measure along sections perpendicular to the axis of the feature.


The "startAngle" is used to define the starting position of the section in the current reference system, the points are distributed in a section with the size of "sliceAngle".


The requested number of points are distributed on the largest portion of the feature.


When this cycle is applied, the feature is bounded by the "height" value.


The starting point for the distribution is defined by the intersection between the axis and the bounding feature, moved by a an "offset" length along the axis itself (value in machine reference system).



CALL/EXTERN,DME,'AutoCycle','FeatureType','BOUNDED','HELICAL', 'FULL','feature_name',is_actual,offset, pitch, number_of_pitches, start_angle



•Type = DBAutoCycleAlgorithm_FeatureBoundedHelicalFull


•is_actual= define if nominal or actual


•Feature_name= is the name of the bouding feature


•offset=is the distance from the bouding feature


•Pitch = helix pitch per 360 degrees.


•number_of_Pitches = number of full round (360 degrees)


•start_angle= is the starting angle of the helix in the current reference system


This cycle performs a measure along an helix of a certain "number_of_pitches" number of full 360 degrees round.


The "startAngle" parameter is used to define the starting position of the helix referred to the current working plane.


The helix pitch is "pitch".


In the DB the "slice_angle" parameter shall be set to 360.0.



The starting point for the distribution is defined by the intersection between the axis and the bounding feature, moved by a an "offset" length along the axis itself (value in machine reference system).



CALL/EXTERN,DME,'AutoCycle','FeatureType','BOUNDED','HELICAL', 'PARTIAL','feature_name',is_actual,offset, pitch,start_angle,slice_angle,tot_angle



•Type = DBAutoCycleAlgorithm_FeatureBoundedHelicalPartial


•is_actual= define if nominal or actual


•Feature_name= is the name of the bouding feature


•offset=is the distance from the bouding feature


•Pitch = helix pitch per 360 degrees.


•start_angle= is the starting angle of the helix in the current reference system


•SliceAngle = is the portion of the helix on which the points are distributed


•TotAngle = is the total angle of the helix on which the slice angle will be reffiled by points


This cycle performs a measure along an helix of a certain number degrees ("totAngle") but the requested number of points will be distributed only in a section of the feature with the size of "sliceAngle".


The startAngle is used to define the starting position of the helix referred to the current working plane.


The helix pitch is "pitch".



The starting point for the distribution is defined by the intersection between the axis and the bounding feature, moved by a an "offset" length along the axis itself (value in machine reference system).




CALL/EXTERN,DME,'AutoCycle','PLANE','BOUNDED','SQUARE_BOX',length,height

•Type = DBAutoCycleAlgorithm_PlaneSquareBox


•Length = length


•Height = height




This cycle performs a measure along a rectangular path centered in the application point of the feature and oriented with the "length" along the minor axis of the current working plane projected on the feature.


The "height" dimension is oriented along the major axis of the current working plane.


The requested number of points are initially distributed along on the 4 vertex, then equally distributed along the path.



CALL/EXTERN,DME,'AutoCycle','PLANE','BOUNDED','SQUARE_GRID',length,pitch,number_of_pitches

•Type = DBAutoCycleAlgorithm_PlaneSquareGrid


•Length = length


•Pitch = pitch


•NumberOfPitches = number_of_pirtches




This cycle performs a measure along a rectangular grid path centered in the application point of the feature and oriented with the "length" along the minor axis of the current working plane projected on the feature.


The secondary direction is oriented along the major axis of the current working plane.


The sections of the grid are spaced by a distance of "pitch" and repeated for a "numberOfPitches" times.


The requested number of points are initially distributed along on the 4 vertex, then equally distributed along the path.




CALL/EXTERN,DME,'AutoCycle','PLANE','PATTERN','RADIAL',radius,start_angle,slice_angle

•Type = DBAutoCycleAlgorithm_PlanePatternRadial


•Radius = radius


•StartAngle = start_angle


•SliceAngle = slice_angle


This cycle performs a measure along an circular path centered in the application point of the feature and with a radius defined by "radius"


The "startAngle" is used to define the starting position of the pattern in the current reference system, the points are equally distributed in a section with the size of "sliceAngle".





CALL/EXTERN,DME,'AutoCycle','PLANE','BOUNDED','RADIAL',inner_radius,outer_radius,start_angle,slice_angle

•Type = DBAutoCycleAlgorithm_PlaneBoundedRadial


•InnerRadius = inner_radius


•OuterRadius = outer_radius


•StartAngle = start_angle


•SliceAngle = slice_angle




This cycle performs a measure along two circular paths centered in the application point of the feature and with a radius defined by "innerradius" and "OuterRadius".


The "startAngle" is used to define the starting position of the pattern in the current reference system, the points are equally distributed in a section with the size of "sliceAngle".


The point are taken alternatively on inner section and outer section.




CALL/EXTERN,DME,'AutoCycle','PLANE','BOUNDED','ANNULUS_RADIAL',inner_radius,outer_radius,start_angle,slice_angle

•Type = DBAutoCycleAlgorithm_PlaneBoundedAnnulusRadial


•InnerRadius = inner_radius


•OuterRadius = outer_radius


•StartAngle = start_angle


•SliceAngle = slice_angle




This cycle performs a measure along two circular paths centered in the application point of the feature and with a radius defined by "innerradius" and "OuterRadius".


The "startAngle" is used to define the starting position of the pattern in the current reference system, the points are equally distributed in a section with the size of "sliceAngle".


The point are randomly distributed within inner section and outer section.