<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Tim Gerundt &#187; VB</title>
	<atom:link href="http://tim.gerundt.de/blog/tags/vb/feed/" rel="self" type="application/rss+xml" />
	<link>http://tim.gerundt.de</link>
	<description>Halbwissen in Perfektion :)</description>
	<lastBuildDate>Sat, 24 Dec 2011 11:09:44 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Ma&#223;stab im Inventor-Schriftfeld einf&#252;gen</title>
		<link>http://tim.gerundt.de/blog/2009/10/15/massstab-im-inventor-schriftfeld-einfuegen/</link>
		<comments>http://tim.gerundt.de/blog/2009/10/15/massstab-im-inventor-schriftfeld-einfuegen/#comments</comments>
		<pubDate>Thu, 15 Oct 2009 16:52:46 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Inventor]]></category>
		<category><![CDATA[VB]]></category>

		<guid isPermaLink="false">http://www.lgmsworld.de/?p=205</guid>
		<description><![CDATA[Wir m&#246;chten auf der Arbeit gerne den Ma&#223;stab einer Inventor-Zeichnung im Schriftfeld eingetragen haben. Bis jetzt haben wir das gel&#246;st, indem wir eine Textbox vom Typ &#8220;Angeforderte Eingabe&#8221; und mit dem Namen &#8220;SCALE&#8221; im Schriftfeld haben, die der Benutzer selber ausf&#252;llen muss. Das klappt an sich auch ganz gut, man neigt nur leider dazu, das [...]]]></description>
			<content:encoded><![CDATA[<p>Wir m&#246;chten auf der Arbeit gerne den Ma&#223;stab einer Inventor-Zeichnung im Schriftfeld eingetragen haben. Bis jetzt haben wir das gel&#246;st, indem wir eine Textbox vom Typ &#8220;<strong>Angeforderte Eingabe</strong>&#8221; und mit dem Namen &#8220;<strong>SCALE</strong>&#8221; im Schriftfeld haben, die der Benutzer selber ausf&#252;llen muss. Das klappt an sich auch ganz gut, man neigt nur leider dazu, das Eintragen zu vergessen. ;)</p>
<p>Im Netz gibt es eine L&#246;sung, wie man automatisch den Ma&#223;stab der Erstansicht ermitteln und als iProperty speichern kann. Dieses iProperty kann man dann auch im Schriftfeld anzeigen: <a href="http://inventorfaq.blogspot.com/2009/08/mastab-auch-bei-inventor-2009-64-bit.html">Ma&#223;stab auch bei Inventor 2009 64-Bit automatisch im Schriftkopf einf&#252;gen</a></p>
<p>Leider hat diese L&#246;sung einen Haken. Das iProperty wird global in der Zeichnung gespeichert und gilt f&#252;r s&#228;mtliche Bl&#228;tter. Es klappt also nicht, wenn die Bl&#228;tter verschiedene Ma&#223;st&#228;be darstellen.</p>
<p>Um das Problem zu l&#246;sen, verwende ich kein iProperty sonder das &#8220;SCALE&#8221;-Textfeld in unserem Schriftfeld. Die Werte f&#252;r die angeforderte Eingabe werden im jeweiligen Schriftfeld gespeichert und k&#246;nnen Sie daher unterscheiden. Au&#223;erdem k&#246;nnte die Benutzer den Wert bei Bedarf relativ einfach &#228;ndern&#8230;</p>
<p>Der Quelltext ist allerdings kein VBA-Code sondern in VB.NET geschrieben und wird in unserm Inventor-AddIn verwendet:</p>
<p><span id="more-205"></span></p>
<pre><code>'''
<summary>
''' Aktualisiert den "Ma&#223;stab" im Schriftfeld einer Zeichnung...
''' </summary>

''' Inventor-Zeichnung
Public Sub RefreshDrawingTitleBlockScale(ByVal drawDoc As Inventor.DrawingDocument)
  If drawDoc IsNot Nothing Then 'Wenn eine Zeichnung &#252;bergeben wurde...
    Dim sScale As String

    For Each oSheet As Inventor.Sheet In drawDoc.Sheets 'F&#252;r alle Bl&#228;tter...
      If oSheet.TitleBlock IsNot Nothing Then 'Wenn ein Schriftfeld vorhanden ist...
        Try
          sScale = ""
          If oSheet.DrawingViews.Count &gt; 0 Then 'Wenn Ansichten vorhanden sind...
            sScale = ConvertDrawingScaleToText(oSheet.DrawingViews(1).Scale)
          End If

          For Each oTextBox As Inventor.TextBox In oSheet.TitleBlock.Definition.Sketch.TextBoxes 'F&#252;r alle Textfelder...
            If oTextBox.Text.Equals("<strong>SCALE</strong>") Then 'Wenn "Ma&#223;stab"-Textfeld...
              oSheet.TitleBlock.SetPromptResultText(oTextBox, sScale)
              drawDoc.Update()
              Exit For
            End If
          Next oTextBox
        Catch ex As Exception
          Continue For
        End Try
      End If
    Next oSheet
  End If
End Sub

'''
<summary>
''' ...
''' </summary>

''' Ma&#223;stab
''' Ma&#223;stab-Text
Private Function ConvertDrawingScaleToText(ByVal scale As Double) As String
  If scale &gt;= 1 Then '...
    If (10 * scale Mod 10) = 0 Then '...
      Return Format(scale, "0") &amp; ":1"
    Else '...
      Return Format(scale, "0.0") &amp; ":1"
    End If
  Else '...
    If (10 * (1 / scale) Mod 10) = 0 Then '...
      Return "1:" &amp; Format(1 / scale, "0")
    Else '...
      Return "1:" &amp; Format(1 / scale, "0.0")
    End If
  End If
  Return ""
End Function</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://tim.gerundt.de/blog/2009/10/15/massstab-im-inventor-schriftfeld-einfuegen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Probleme beim Drucken von A0 und A1 mit der Inventor-API</title>
		<link>http://tim.gerundt.de/blog/2007/07/17/probleme-beim-drucken-von-a0-und-a1-mit-der-inventor-api/</link>
		<comments>http://tim.gerundt.de/blog/2007/07/17/probleme-beim-drucken-von-a0-und-a1-mit-der-inventor-api/#comments</comments>
		<pubDate>Tue, 17 Jul 2007 19:44:02 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Drucken]]></category>
		<category><![CDATA[Inventor]]></category>
		<category><![CDATA[VB]]></category>

		<guid isPermaLink="false">http://www.lgmsworld.de/blog/2007/07/17/probleme-beim-drucken-von-a0-und-a1-mit-der-inventor-api/</guid>
		<description><![CDATA[Nachdem wir auf der Arbeit von Inventor 10 auf Inventor 2008 umgestiegen sind, hatte ich Problem mit meinem Visual Basic Programm, was nachts die gepr&#252;ften IDW-Zeichnungen ins PDF-Format konvertiert. Bei Bl&#228;ttern im A0 und A1-Format stimmten die Seitenr&#228;nder nicht und der Inhalt erstreckte sich nicht &#252;ber die ganze Seite. Problem war, das Inventor 2008 anscheint [...]]]></description>
			<content:encoded><![CDATA[<p>Nachdem wir auf der Arbeit von <em>Inventor 10</em> auf <em>Inventor 2008</em> umgestiegen sind, hatte ich Problem mit meinem Visual Basic Programm, was nachts die gepr&#252;ften IDW-Zeichnungen ins PDF-Format konvertiert. Bei Bl&#228;ttern im A0 und A1-Format stimmten die Seitenr&#228;nder nicht und der Inhalt erstreckte sich nicht &#252;ber die ganze Seite.</p>
<p>Problem war, das Inventor 2008 anscheint Probleme mit den Konstanten <code>kPaperSizeA0</code> und <code>kPaperSizeA1</code> hat, wenn man sie der Eigenschaft <code>PaperSize</code> des <code>PrintManager</code>-Objekts zuweist. Danach hat <code>PaperSize</code> trotzdem den Wert <code>kPaperSizeDefault</code>, was in meinem Fall <em>Letter</em> bedeutete.</p>
<p>Wenn man die H&#246;he und Breite der beiden Formate von Hand setzt, klappt es aber zum Gl&#252;ck:</p>
<pre><code>Select Case oSheet.Size
  Case kA0DrawingSheetSize 'A0
    <b>oPrintMgr.PaperSize = kPaperSizeCustom
    oPrintMgr.PaperWidth = 84.1
    oPrintMgr.PaperHeight = 118.9</b>
  Case kA1DrawingSheetSize 'A1
    <b>oPrintMgr.PaperSize = kPaperSizeCustom
    oPrintMgr.PaperWidth = 59.4
    oPrintMgr.PaperHeight = 84.1</b>
  Case kA2DrawingSheetSize 'A2
    oPrintMgr.PaperSize = kPaperSizeA2
  Case kA3DrawingSheetSize 'A3
    oPrintMgr.PaperSize = kPaperSizeA3
  Case kA4DrawingSheetSize 'A4
    oPrintMgr.PaperSize = kPaperSizeA4
End Select</code></pre>
<p>Von solchen Fehlern mal abgesehen, ist die Inventor-API aber schon ziemlich cool und m&#228;chtig! ;)</p>
]]></content:encoded>
			<wfw:commentRss>http://tim.gerundt.de/blog/2007/07/17/probleme-beim-drucken-von-a0-und-a1-mit-der-inventor-api/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

