PromptForBlockInsertion Method (ICommandMessage)

PromptForBlockInsertion Method (ICommandMessage) | Send Feedback
See Also Example

Result[out]
  Status of the input for inserting the Block instance as defined in dsPromptResultType_e

PreviewBlockName
  Name of the Block definition to insert to create the Block instance

SpecifyScale
  True to use the values specified for DefaultScaleX, DefaultScaleY, and DefaultScaleZ for the Block instance's scale factors, false to use the user-interactive values (see Remarks)

DefaultScaleX
  Scale factor for the x axis for the Block instance if SpecifyScale is set to true (see Remarks)

DefaultScaleY
  Scale factor for the y axis for the Block instance if SpecifyScale is set to true (see Remarks)

DefaultScaleZ
  Scale factor for the z axis for the Block instance if SpecifyScale is set to true (see Remarks)

SpecifyRotation

  True to use the value specified for DefaultRotation for the Block instance's rotation angle, false to use the user-interactive value (see Remarks)

DefaultRotation
  Angle, in radians, by which to rotate the Block instance if SpecifyRotation is set to true (see Remarks)

X[out]
  x coordinate where to insert the Block instance

Y[out]
  y coordinate where to insert the Block instance

Z[out]
  z coordinate where to insert the Block instance

ScaleX[out]
  Scale factor for the x axis of the Block instance

ScaleY[out]
  Scale factor for the y axis of the Block instance

ScaleZ[out]
  Scale factor for the z axis of the Block instance

Rotation[out]
  Angle, in radians, by which to rotate the Block instance

Prompts the user for the insertion point, scale factors, and rotation angle to use when inserting a Block Instance.

# Syntax

Visual Basic |
--- | ---
    Function PromptForBlockInsertion( _
       ByVal PreviewBlockName As System.String, _
       ByVal SpecifyScale As System.Boolean, _
       ByVal DefaultScaleX As System.Double, _
       ByVal DefaultScaleY As System.Double, _
       ByVal DefaultScaleZ As System.Double, _
       ByVal SpecifyRotation As System.Boolean, _
       ByVal DefaultRotation As System.Double, _
       ByRef X As System.Double, _
       ByRef Y As System.Double, _
       ByRef Z As System.Double, _
       ByRef ScaleX As System.Double, _
       ByRef ScaleY As System.Double, _
       ByRef ScaleZ As System.Double, _
       ByRef Rotation As System.Double _
    ) As dsPromptResultType_e

C# |
--- | ---
    dsPromptResultType_e PromptForBlockInsertion(
       System.string PreviewBlockName,
       System.bool SpecifyScale,
       System.double DefaultScaleX,
       System.double DefaultScaleY,
       System.double DefaultScaleZ,
       System.bool SpecifyRotation,
       System.double DefaultRotation,
       out System.double X,
       out System.double Y,
       out System.double Z,
       out System.double ScaleX,
       out System.double ScaleY,
       out System.double ScaleZ,
       out System.double Rotation
    )

JavaScript |
--- | ---
    PromptForBlockInsertion(
       PreviewBlockName : String,
       SpecifyScale : Boolean,
       DefaultScaleX : Number,
       DefaultScaleY : Number,
       DefaultScaleZ : Number,
       SpecifyRotation : Boolean,
       DefaultRotation : Number
    ) : {
       X : Number,
       Y : Number,
       Z : Number,
       ScaleX : Number,
       ScaleY : Number,
       ScaleZ : Number,
       Rotation : Number,
       Result : String
    }

COM native C++ |
--- | ---
    HRESULT PromptForBlockInsertion(
       BSTR PreviewBlockName,
       VARIANT_BOOL SpecifyScale,
       DOUBLE DefaultScaleX,
       DOUBLE DefaultScaleY,
       DOUBLE DefaultScaleZ,
       VARIANT_BOOL SpecifyRotation,
       DOUBLE DefaultRotation,
       DOUBLE* X,
       DOUBLE* Y,
       DOUBLE* Z,
       DOUBLE* ScaleX,
       DOUBLE* ScaleY,
       DOUBLE* ScaleZ,
       DOUBLE* Rotation,
       dsPromptResultType_e* Result
    )

C++ |
--- | ---
    DSRESULT PromptForBlockInsertion(
       const dsString& PreviewBlockName,
       bool SpecifyScale,
       double DefaultScaleX,
       double DefaultScaleY,
       double DefaultScaleZ,
       bool SpecifyRotation,
       double DefaultRotation,
       double* X,
       double* Y,
       double* Z,
       double* ScaleX,
       double* ScaleY,
       double* ScaleZ,
       double* Rotation,
       dsPromptResultType_e* Result
    )

#### Parameters

PreviewBlockName
  Name of the Block definition to insert to create the Block instance
SpecifyScale
  True to use the values specified for DefaultScaleX, DefaultScaleY, and DefaultScaleZ for the Block instance's scale factors, false to use the user-interactive values (see Remarks)
DefaultScaleX
  Scale factor for the x axis for the Block instance if SpecifyScale is set to true (see Remarks)
DefaultScaleY
  Scale factor for the y axis for the Block instance if SpecifyScale is set to true (see Remarks)
DefaultScaleZ
  Scale factor for the z axis for the Block instance if SpecifyScale is set to true (see Remarks)
SpecifyRotation

  True to use the value specified for DefaultRotation for the Block instance's rotation angle, false to use the user-interactive value (see Remarks)

DefaultRotation
  Angle, in radians, by which to rotate the Block instance if SpecifyRotation is set to true (see Remarks)
X[out]
  x coordinate where to insert the Block instance
Y[out]
  y coordinate where to insert the Block instance
Z[out]
  z coordinate where to insert the Block instance
ScaleX[out]
  Scale factor for the x axis of the Block instance
ScaleY[out]
  Scale factor for the y axis of the Block instance
ScaleZ[out]
  Scale factor for the z axis of the Block instance
Rotation[out]
  Angle, in radians, by which to rotate the Block instance
Result[out] or Return Value
  Status of the input for inserting the Block instance as defined in dsPromptResultType_e

# Example

Prompt for Block Insertion (JavaScript)

# Remarks

If this parameter... | Is set to... | Then...
SpecifyScale | True | The DefaultScaleX, DefaultScaleY, and DefaultScaleZ values are used to scale the Block instance when the user presses the Enter key when prompted for these values in the command window.
| False | Either the values typed in the command window, or the coordinates that correspond to the point where the user clicks in the graphics area, are used to scale the Block instance.
SpecifyRotation | True | The DefaultRotation value is used for the rotation angle of the Block instance when the user presses the Enter key when prompted for this value in the command window.
| False | Either the value typed in the command window, or the angle that corresponds to the point where the user clicks in the graphics area, is used for the rotation angle of the Block instance.

NOTE: A positive value for the rotation angle rotates the Block instance counterclockwise, and a negative value rotates the Block instance clockwise.

Typical use of this method involves:

1. Defining the Block definition using IDocument::CreateBlockDefinition, if needed. If a Block definition already exists, skip this step.
2. Defining how to insert the Block using ICommandMessage::PromptForBlockInsertion.
3. Inserting the Block using ISketchManager::InsertBlock2 and the output values of ICommandMessage::PromptForBlockInsertion.

# See Also

####

ICommandMessage Interface
ICommandMessage Members

# Availability

DraftSight V1R3.1