Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
draftsight / opt / dassault-systemes / DraftSight / APISDK / Create_Rectangular_Viewport_Example_CSharp.htm
Size: Mime:
<html>

<head>
<title>Create Rectangular Viewport Example (C#)</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="C# examples">
<meta name=MS-HKWD content="C# examples,Viewports">

</head>


<body>
<h1>Create Rectangular Viewport Example (C#)</h1>

<p>This example shows how to create a rectangular Viewport.</p>
<p><font face="Consolas" size="2"><span style="color:green;">
//--------------------------------------------------------------</span><br>
<span style="color:green;">// Preconditions:</span><br>
<span style="color:green;">//&nbsp;1.&nbsp;Create&nbsp;a&nbsp;C#&nbsp;Windows&nbsp;console&nbsp;project.</span><br>
<span style="color:green;">//&nbsp;2.&nbsp;Copy&nbsp;and&nbsp;paste&nbsp;this&nbsp;example&nbsp;into&nbsp;the&nbsp;C#&nbsp;IDE.</span><br>
<span style="color:green;">//&nbsp;3.&nbsp;Add&nbsp;a&nbsp;reference&nbsp;to:</span><br>
<span style="color:green;">//&nbsp;&nbsp;&nbsp;&nbsp;<i>install_dir</i>\<b>APISDK\tlb\DraftSight.Interop.dsAutomation.dll</b></span><br>
<span style="color:green;">//&nbsp;4.&nbsp;Add&nbsp;a reference&nbsp;to&nbsp;<b>System</b>.</span><br>
<span style="color:green;">//&nbsp;5.&nbsp;Start&nbsp;DraftSight.</span><br>
<span style="color:green;">//&nbsp;6.&nbsp;Open&nbsp;the&nbsp;Immediate&nbsp;window.</span><br>
<span style="color:green;">//&nbsp;7.&nbsp;Press&nbsp;F5&nbsp;to&nbsp;debug&nbsp;the&nbsp;project.</span><br>
<span style="color:green;">//</span><br>
<span style="color:green;">//&nbsp;Postconditions:&nbsp;</span><br>
<span style="color:green;">//&nbsp;1.&nbsp;</span><span style="color:green;">A&nbsp;Viewport&nbsp;is&nbsp;created&nbsp;on&nbsp;Sheet2.</span><br>
<span style="color: green">// 2.&nbsp;Examine&nbsp;the&nbsp;drawing&nbsp;and&nbsp;output&nbsp;printed</span><br>
<span style="color: green">//&nbsp;&nbsp;&nbsp;&nbsp;to&nbsp;the&nbsp;Immediate&nbsp;window.</span><br>
<span style="color:green;">//----------------------------------------------------------------</span></font></p>

<pre style="font-family: Consolas; font-size: 13; color: black; background: white"><span style="color:blue;">using</span>&nbsp;System;
<span style="color:blue;">using</span>&nbsp;System.Diagnostics;
<span style="color:blue;">using</span>&nbsp;System.Runtime.InteropServices;
<span style="color:blue;">using</span>&nbsp;DraftSight.Interop.dsAutomation;
 
<span style="color:blue;">static</span>&nbsp;<span style="color:blue;">class</span>&nbsp;<span style="color:#2b91af;">Module1</span>
{
 
&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">public</span>&nbsp;<span style="color:blue;">static</span>&nbsp;<span style="color:blue;">void</span>&nbsp;Main()
	{
		DraftSight.Interop.dsAutomation.<span style="color:#2b91af;">Application</span>&nbsp;dsApp;
		<span style="color:#2b91af;">Document</span>&nbsp;dsDoc&nbsp;=&nbsp;<span style="color:blue;">default</span>(<span style="color:#2b91af;">Document</span>);
		<span style="color:blue;">string</span>&nbsp;SheetName&nbsp;=&nbsp;<span style="color:blue;">null</span>;
		<span style="color:blue;">object</span>[]&nbsp;dsSheets&nbsp;=&nbsp;<span style="color:blue;">null</span>;
		<span style="color:#2b91af;">Sheet</span>&nbsp;dsSheet&nbsp;=&nbsp;<span style="color:blue;">default</span>(<span style="color:#2b91af;">Sheet</span>);
		<span style="color: #0000FF">int</span>&nbsp;index&nbsp;=&nbsp;0;
		<span style="color:#2b91af;">Viewport</span>&nbsp;dsViewport&nbsp;=&nbsp;<span style="color:blue;">default</span>(<span style="color:#2b91af;">Viewport</span>);
		<span style="color:#2b91af;">MathUtility</span>&nbsp;dsMathUtility&nbsp;=&nbsp;<span style="color:blue;">default</span>(<span style="color:#2b91af;">MathUtility</span>);
		<span style="color:#2b91af;">MathPoint</span>&nbsp;startCorner&nbsp;=&nbsp;<span style="color:blue;">default</span>(<span style="color:#2b91af;">MathPoint</span>);
		<span style="color:#2b91af;">MathPoint</span>&nbsp;oppositeCorner&nbsp;=&nbsp;<span style="color:blue;">default</span>(<span style="color:#2b91af;">MathPoint</span>);
		<span style="color:blue;">bool</span>&nbsp;isClipped&nbsp;=&nbsp;<span style="color:blue;">false</span>;
 
		<span style="color:green;">//Connect&nbsp;to&nbsp;DraftSight</span>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dsApp&nbsp;=&nbsp;(DraftSight.Interop.dsAutomation.<span style="color:#2b91af;">Application</span>)<span style="color:#2b91af;">Marshal</span>.GetActiveObject(<span style="color:#a31515;">&quot;DraftSight.Application&quot;</span>);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
		<span style="color:green;">//Abort&nbsp;any&nbsp;command&nbsp;currently&nbsp;running&nbsp;in&nbsp;DraftSight</span>
		<span style="color:green;">//to&nbsp;avoid&nbsp;nested&nbsp;commands</span>
		dsApp.<b>AbortRunningCommand</b>();
 
		<span style="color:green;">//Get&nbsp;active&nbsp;document</span>
		dsDoc&nbsp;=&nbsp;dsApp.<b>GetActiveDocument</b>();
 
		<span style="color:blue;">if</span>&nbsp;((dsDoc&nbsp;!=&nbsp;<span style="color:blue;">null</span>))&nbsp;{
			<span style="color:green;">//Switch&nbsp;to&nbsp;Sheet&nbsp;space&nbsp;and&nbsp;activate&nbsp;Sheet2</span>
			dsSheets&nbsp;=&nbsp;(<span style="color:blue;">object</span>[])dsDoc.<b>GetSheets</b>();
			<span style="color:blue;">if</span>&nbsp;(dsSheets&nbsp;<span style="color:blue;">is</span>&nbsp;System.<span style="color:#2b91af;">Array</span>)&nbsp;{
				<span style="color:blue;">for</span>&nbsp;(index&nbsp;=&nbsp;0;&nbsp;index&nbsp;&lt;&nbsp;dsSheets.Length;&nbsp;index++)&nbsp;{
					dsSheet&nbsp;=&nbsp;(<span style="color:#2b91af;">Sheet</span>)dsSheets[index];
					<span style="color:green;">//Get&nbsp;sheet&nbsp;name</span>
					SheetName&nbsp;=&nbsp;dsSheet.<b>Name</b>;
					<span style="color:green;">//Change&nbsp;sheet&nbsp;name,&nbsp;if&nbsp;it&nbsp;is&nbsp;not&nbsp;a&nbsp;model</span>
					<span style="color:blue;">if</span>&nbsp;(SheetName&nbsp;!=&nbsp;<span style="color:#a31515;">&quot;Model&quot;</span>)&nbsp;{
						<span style="color:green;">//Activate&nbsp;sheet</span>
						dsSheet.<b>Activate</b>();
					}
				}
			}
 
			<span style="color:green;">//&nbsp;Set&nbsp;the&nbsp;corners&nbsp;for&nbsp;the&nbsp;Viewport</span>
			dsMathUtility&nbsp;=&nbsp;dsApp.<b>GetMathUtility</b>();
			startCorner&nbsp;=&nbsp;dsMathUtility.<b>CreatePoint</b>(0,&nbsp;0,&nbsp;0);
			oppositeCorner&nbsp;=&nbsp;dsMathUtility.<b>CreatePoint</b>(3,&nbsp;3,&nbsp;0);
 
			<span style="color:green;">//Create&nbsp;a&nbsp;rectangular&nbsp;Viewport</span>
			dsViewport&nbsp;=&nbsp;dsSheet.<b>InsertRectangularViewport</b>(<span style="color:#2b91af;">dsStandardViewports_e</span>.dsStandardViewports_1,&nbsp;<span style="color:blue;">false</span>,&nbsp;startCorner,&nbsp;oppositeCorner);

			<span style="color:green;">//&nbsp;Activate&nbsp;and&nbsp;access&nbsp;the&nbsp;rectangular&nbsp;Viewport</span>
			dsViewport.<b>Active</b>&nbsp;=&nbsp;<span style="color:blue;">true</span>;
			<span style="color:#2b91af;">Debug</span>.Print(SheetName&nbsp;+&nbsp;<span style="color:#a31515;">&quot;:&quot;</span>);
			<span style="color:#2b91af;">Debug</span>.Print(<span style="color:#a31515;">&quot;&nbsp;&nbsp;Viewport:&quot;</span>);
			dsViewport.<b>GetIsClipped</b>(<span style="color:blue;">out</span>&nbsp;isClipped);
			<span style="color:#2b91af;">Debug</span>.Print(<span style="color:#a31515;">&quot;&nbsp;&nbsp;&nbsp;&nbsp;Clipped&nbsp;by&nbsp;an&nbsp;entity?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;</span>&nbsp;+&nbsp;isClipped);
			<span style="color:#2b91af;">Debug</span>.Print(<span style="color:#a31515;">&quot;&nbsp;&nbsp;&nbsp;&nbsp;Height:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;</span>&nbsp;+&nbsp;dsViewport.<b>Height</b>);
			<span style="color:#2b91af;">Debug</span>.Print(<span style="color:#a31515;">&quot;&nbsp;&nbsp;&nbsp;&nbsp;Width:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;</span>&nbsp;+&nbsp;dsViewport.<b>Width</b>);
			<span style="color:#2b91af;">Debug</span>.Print(<span style="color:#a31515;">&quot;&nbsp;&nbsp;&nbsp;&nbsp;Locked&nbsp;in&nbsp;model&nbsp;workspace?&nbsp;&nbsp;&quot;</span>&nbsp;+&nbsp;dsViewport.<b>DisplayLocked</b>);
			<span style="color:#2b91af;">Debug</span>.Print(<span style="color:#a31515;">&quot;&nbsp;&nbsp;&nbsp;&nbsp;Displayed&nbsp;in&nbsp;graphics&nbsp;area?&nbsp;&quot;</span>&nbsp;+&nbsp;dsViewport.<b>IsOn</b>);
			<span style="color:#2b91af;">Debug</span>.Print(<span style="color:#a31515;">&quot;&nbsp;&nbsp;&nbsp;&nbsp;Visible?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;</span>&nbsp;+&nbsp;dsViewport.<b>Visible</b>);
		}&nbsp;<span style="color:blue;">else</span>&nbsp;{
			<span style="color:#2b91af;">Debug</span>.Print(<span style="color:#a31515;">&quot;There&nbsp;are&nbsp;no&nbsp;open&nbsp;documents&nbsp;in&nbsp;DraftSight.&quot;</span>);
		}
	}
 
 
}</pre>

</body>

</html>