Repository URL to install this package:
|
Version:
2016.3.0.4050 ▾
|
draftsight
/
opt
/
dassault-systemes
/
DraftSight
/
APISDK
/
Insert_Embedded_Object_Example_VBNET.htm
|
|---|
<html>
<head>
<title>Insert Embedded Object Example (VB.NET)</title>
<meta http-equiv="Content-Language" content="en-us">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<link rel="stylesheet" type="text/css" href="ApiHelp.css">
<meta name=MS-HKWD content="VB.NET examples">
<meta name=MS-HKWD content="VB.NET examples,embedded objects">
</head>
<body>
<h1>Insert Embedded Object Example (VB.NET)</h1>
<p>This example shows how to embed a file object in a DraftSight drawing.</p>
<div style="font-family:Monospace; font-size: 10pt; background-color: white;">
<p class="APICODE"><span style="color:Green">
'--------------------------------------------------------------<br>
' Preconditions:<br>
' 1. Create a VB.NET Windows console project.<br>
' 2. Copy and paste this example into the VB.NET IDE.<br>
' 3. Add a reference to:<br>
' <i>install_dir</i><b>\APISDK\tlb\DraftSight.Interop.dsAutomation.dll</b>.<br>
' 4. Add references to System and System.Windows.Forms.<br>
' 5. Place the document to embed in the project assembly folder.<br>
' 6. Right-click the project and select <b>Add > Existing Item</b>.<br>
' 7. Select the document to embed and click Add.<br>
' 8. Right-click the file in Solution Explorer and select <b>Properties</b>.<br>
' 9. For the Copy to Output property, select <b>Copy Always</b>.<br>
'10. Modify the document name referenced in the code. <br>
'11. Start DraftSight and open a drawing document.<br>
'12. Start debugging the project.<br>
'<br>
' Postconditions: <br>
' 1. The file object is embedded in the drawing.<br>
' 2. Inspect the Immediate window for its position and parameters.<br>
'----------------------------------------------------------------<br>
</span><span style="color:Blue">Imports</span><span style="color:Black">
System.Collections.Generic<br>
</span><span style="color:Blue">Imports</span><span style="color:Black">
System.Text<br>
</span><span style="color:Blue">Imports</span><span style="color:Black">
DraftSight.Interop.dsAutomation<br>
</span><span style="color:Blue">Imports</span><span style="color:Black">
System.Windows.Forms<br>
</span><span style="color:Blue">Imports</span><span style="color:Black">
System.Runtime.InteropServices<br>
</span><span style="color:Blue">Imports</span><span style="color:Black">
System.Diagnostics<br>
</span><span style="color:Blue">Imports</span><span style="color:Black">
System.IO<br>
</span><span style="color:Blue">Imports</span><span style="color:Black">
System.Reflection<br>
<br>
<br>
</span><span style="color:Blue">Module</span><span style="color:Black">
Module1<br>
<br>
</span><span style="color:Blue">Sub</span><span style="color:Black">
Main()<br>
</span><span style="color:Green">'Connect to DraftSight application<br>
</span><span style="color:Black"> </span><span style="color:Blue">Dim</span><span style="color:Black">
dsApp </span><span style="color:Blue">As</span><span style="color:Black">
DraftSight.Interop.dsAutomation.Application = ConnectToDraftSight()<br>
</span><span style="color:Blue">If</span><span style="color:Black">
dsApp </span><span style="color:Blue">Is</span><span style="color:Black">
</span><span style="color:Blue">Nothing</span><span style="color:Black">
</span><span style="color:Blue">Then<br>
</span><span style="color:Black"> </span><span style="color:Blue">Return<br>
</span><span style="color:Black"> </span><span style="color:Blue">End</span><span style="color:Black">
</span><span style="color:Blue">If<br>
<br>
</span>dsApp.<b>AbortRunningCommand</b>()<span style="color:Blue">
</span><font color="#008000">' abort any command currently running in
DraftSight to avoid nested commands</font><span style="color:Blue"><br>
<br>
</span><span style="color:Black"> </span><span style="color:Green">'Get
active document<br>
</span><span style="color:Black"> </span><span style="color:Blue">Dim</span><span style="color:Black">
dsDoc </span><span style="color:Blue">As</span><span style="color:Black">
Document = dsApp.<b>GetActiveDocument</b>()<br>
</span><span style="color:Blue">If</span><span style="color:Black">
dsDoc </span><span style="color:Blue">Is</span><span style="color:Black">
</span><span style="color:Blue">Nothing</span><span style="color:Black">
</span><span style="color:Blue">Then<br>
</span><span style="color:Black"> MessageBox.Show(</span><span style="color:#a31515">"There
are no open documents in DraftSight."</span><span style="color:Black">)<br>
</span><span style="color:Blue">Return<br>
</span><span style="color:Black"> </span><span style="color:Blue">End</span><span style="color:Black">
</span><span style="color:Blue">If<br>
<br>
</span><span style="color:Black"> </span><span style="color:Green">'Get
model space<br>
</span><span style="color:Black"> </span><span style="color:Blue">Dim</span><span style="color:Black">
dsModel </span><span style="color:Blue">As</span><span style="color:Black">
Model = dsDoc.<b>GetModel</b>()<br>
<br>
</span><span style="color:Green">'Get sketch manager<br>
</span><span style="color:Black"> </span><span style="color:Blue">Dim</span><span style="color:Black">
dsSketchMgr </span><span style="color:Blue">As</span><span style="color:Black">
SketchManager = dsModel.<b>GetSketchManager</b>()<br>
<br>
</span><span style="color:Green">'Embedded object parameters<br>
</span><span style="color:Black"> </span><span style="color:Blue">Dim</span><span style="color:Black">
filePath </span><span style="color:Blue">As</span><span style="color:Black">
</span><span style="color:Blue">String</span><span style="color:Black"> =
Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location),
</span><span style="color:#a31515">"SampleDoc.docx"</span><span style="color:Black">)<br>
</span><span style="color:Blue">Dim</span><span style="color:Black">
link </span><span style="color:Blue">As</span><span style="color:Black">
</span><span style="color:Blue">Boolean</span><span style="color:Black"> =
</span><span style="color:Blue">True<br>
</span><span style="color:Black"> </span><span style="color:Blue">Dim</span><span style="color:Black">
displayAsIcon </span><span style="color:Blue">As</span><span style="color:Black">
</span><span style="color:Blue">Boolean</span><span style="color:Black"> =
</span><span style="color:Blue">False<br>
<br>
</span><span style="color:Black"> </span><span style="color:Green">'Insert
embedded object<br>
</span><span style="color:Black"> </span><span style="color:Blue">Dim</span><span style="color:Black">
dsEmbeddedObject </span><span style="color:Blue">As</span><span style="color:Black">
EmbeddedObject = dsSketchMgr.<b>InsertEmbeddedObjectFromFile</b>(filePath, link,
displayAsIcon)<br>
</span><span style="color:Blue">If</span><span style="color:Black">
dsEmbeddedObject </span><span style="color:Blue">IsNot</span><span style="color:Black">
</span><span style="color:Blue">Nothing</span><span style="color:Black">
</span><span style="color:Blue">Then<br>
</span><span style="color:Black"> PrintParameters(dsEmbeddedObject)<br>
</span><span style="color:Blue">Else<br>
</span><span style="color:Black"> MessageBox.Show(</span><span style="color:#a31515">"Embedded
object entity was not added to the current drawing."</span><span style="color:Black">)<br>
</span><span style="color:Blue">End</span><span style="color:Black">
</span><span style="color:Blue">If<br>
</span><span style="color:Black"> </span><span style="color:Blue">End</span><span style="color:Black">
</span><span style="color:Blue">Sub<br>
<br>
</span><span style="color:Black"> </span><span style="color:Blue">Sub</span><span style="color:Black">
PrintParameters(</span><span style="color:Blue">ByVal</span><span style="color:Black">
dsEmbeddedObject </span><span style="color:Blue">As</span><span style="color:Black">
EmbeddedObject)<br>
Debug.Print(Environment.NewLine & </span>
<span style="color:#a31515">"Embedded object parameters..."</span><span style="color:Black">)<br>
<br>
</span><span style="color:Green">'Print common entity parameters<br>
</span><span style="color:Black"> Debug.Print(</span><span style="color:#a31515">"Handle
= "</span><span style="color:Black"> &
Convert.ToString(dsEmbeddedObject.<b>Handle</b>))<br>
Debug.Print(</span><span style="color:#a31515">"Color = "</span><span style="color:Black">
& dsEmbeddedObject.<b>Color</b>.<b>GetNamedColor</b>())<br>
Debug.Print(</span><span style="color:#a31515">"Erased = "</span><span style="color:Black">
& Convert.ToString(dsEmbeddedObject.<b>Erased</b>))<br>
Debug.Print(</span><span style="color:#a31515">"Layer = "</span><span style="color:Black">
& Convert.ToString(dsEmbeddedObject.<b>Layer</b>))<br>
Debug.Print(</span><span style="color:#a31515">"LineScale = "</span><span style="color:Black">
& Convert.ToString(dsEmbeddedObject.<b>LineScale</b>))<br>
Debug.Print(</span><span style="color:#a31515">"LineStyle = "</span><span style="color:Black">
& Convert.ToString(dsEmbeddedObject.<b>LineStyle</b>))<br>
Debug.Print(</span><span style="color:#a31515">"LineWeight = "</span><span style="color:Black">
& Convert.ToString(dsEmbeddedObject.<b>LineWeight</b>))<br>
Debug.Print(</span><span style="color:#a31515">"Visible = "</span><span style="color:Black">
& Convert.ToString(dsEmbeddedObject.<b>Visible</b>))<br>
<br>
</span><span style="color:Blue">Dim</span><span style="color:Black">
x1 </span><span style="color:Blue">As</span><span style="color:Black">
</span><span style="color:Blue">Double</span><span style="color:Black">, y1
</span><span style="color:Blue">As</span><span style="color:Black"> </span>
<span style="color:Blue">Double</span><span style="color:Black">, z1 </span>
<span style="color:Blue">As</span><span style="color:Black"> </span>
<span style="color:Blue">Double<br>
</span><span style="color:Black"> </span><span style="color:Blue">Dim</span><span style="color:Black">
x2 </span><span style="color:Blue">As</span><span style="color:Black">
</span><span style="color:Blue">Double</span><span style="color:Black">, y2
</span><span style="color:Blue">As</span><span style="color:Black"> </span>
<span style="color:Blue">Double</span><span style="color:Black">, z2 </span>
<span style="color:Blue">As</span><span style="color:Black"> </span>
<span style="color:Blue">Double<br>
</span><span style="color:Black"> dsEmbeddedObject.<b>GetBoundingBox</b>(x1,
y1, z1, x2, y2, z2)<br>
Debug.Print(</span><span style="color:Blue">String</span><span style="color:Black">.Format(</span><span style="color:#a31515">"BoundingBox:
({0},{1},{2}) and ({3},{4},{5})"</span><span style="color:Black">, x1, y1,
z1, x2, y2, _<br>
z2))<br>
<br>
</span><span style="color:Green">'Print embedded object parameters<br>
</span><span style="color:Black"> Debug.Print(</span><span style="color:#a31515">"Height
= "</span><span style="color:Black"> &
Convert.ToString(dsEmbeddedObject.<b>Height</b>))<br>
Debug.Print(</span><span style="color:#a31515">"Width = "</span><span style="color:Black">
& Convert.ToString(dsEmbeddedObject.<b>Width</b>))<br>
Debug.Print(</span><span style="color:#a31515">"PrintQuality = "</span><span style="color:Black">
& Convert.ToString(dsEmbeddedObject.<b>PrintQuality</b>))<br>
Debug.Print(</span><span style="color:#a31515">"LinkPath = "</span><span style="color:Black">
& dsEmbeddedObject.<b>GetLinkPath</b>())<br>
Debug.Print(</span><span style="color:#a31515">"SourceApplication =
"</span><span style="color:Black"> & dsEmbeddedObject.<b>GetSourceApplication</b>())<br>
Debug.Print(</span><span style="color:#a31515">"Type = "</span><span style="color:Black">
& dsEmbeddedObject.[<b>GetType</b>]())<br>
<br>
</span><span style="color:Green">'Get position of embedded object<br>
</span><span style="color:Black"> </span><span style="color:Blue">Dim</span><span style="color:Black">
x </span><span style="color:Blue">As</span><span style="color:Black"> </span>
<span style="color:Blue">Double</span><span style="color:Black">, y </span>
<span style="color:Blue">As</span><span style="color:Black"> </span>
<span style="color:Blue">Double</span><span style="color:Black">, z </span>
<span style="color:Blue">As</span><span style="color:Black"> </span>
<span style="color:Blue">Double<br>
</span><span style="color:Black"> dsEmbeddedObject.<b>GetPosition</b>(x, y,
z)<br>
Debug.Print(</span><span style="color:Blue">String</span><span style="color:Black">.Format(</span><span style="color:#a31515">"Position
= ({0},{1},{2})"</span><span style="color:Black">, x, y, z))<br>
</span><span style="color:Blue">End</span><span style="color:Black">
</span><span style="color:Blue">Sub<br>
<br>
</span><span style="color:Black"> </span><span style="color:Blue">Function</span><span style="color:Black">
ConnectToDraftSight() </span><span style="color:Blue">As</span><span style="color:Black">
DraftSight.Interop.dsAutomation.Application<br>
</span><span style="color:Blue">Dim</span><span style="color:Black">
dsApp </span><span style="color:Blue">As</span><span style="color:Black">
DraftSight.Interop.dsAutomation.Application = </span>
<span style="color:Blue">Nothing<br>
<br>
</span><span style="color:Black"> </span><span style="color:Blue">Try<br>
</span><span style="color:Black"> </span><span style="color:Green">'Connect
to DraftSight<br>
</span><span style="color:Black"> dsApp = </span>
<span style="color:Blue">DirectCast</span><span style="color:Black">(Marshal.<b>GetActiveObject</b>(</span><span style="color:#a31515">"DraftSight.Application"</span><span style="color:Black">),
DraftSight.Interop.dsAutomation.Application)<br>
</span><span style="color:Blue">Catch</span><span style="color:Black">
ex </span><span style="color:Blue">As</span><span style="color:Black">
Exception<br>
MessageBox.Show(</span><span style="color:#a31515">"Failed to
connect to DraftSight. Cause: "</span><span style="color:Black"> &
ex.Message)<br>
dsApp = </span><span style="color:Blue">Nothing<br>
</span><span style="color:Black"> </span><span style="color:Blue">End</span><span style="color:Black">
</span><span style="color:Blue">Try<br>
<br>
</span><span style="color:Black"> </span><span style="color:Blue">Return</span><span style="color:Black">
dsApp<br>
</span><span style="color:Blue">End</span><span style="color:Black">
</span><span style="color:Blue">Function<br>
End</span><span style="color:Black"> </span><span style="color:Blue">Module</span>
</div>
</body>
</html>