| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
 | NVIDIA GTC Paris und ISC High Performance-Konferenz 2025, eine Pressemitteilung
|
Autor
|
Thema: Abfragen ob Block schon in der Zeichnung ist (913 mal gelesen)
|
The VIP Mitglied Technischer Zeichner
 
 Beiträge: 170 Registriert: 06.09.2002 AutoCAD Mechanical 6 unter Windows XP
|
erstellt am: 12. Jul. 2004 07:38 <-- editieren / zitieren --> Unities abgeben:         
Hallo. Über eine Eingabemaske kann ich die Abmasse eines Quadrats eingeben. z.B. 40 (40mm). Danach setze ich einen Basispunkt und das Quadrat wird als Block erzeugt. Der Name des Blocks lautet "40". Das Makro läuft so ab, dass die Linien gezeichnet werden und danach zum Block "40" dazugenommen werden. Wenn nun aber schon so ein Block in der Zeichnung ist, und ich das Quadrat mit den Abmessungen 40 erneut zeichnen lasse, dann wird dieser Block um die selben 4 Linien ergänzt. Er fügt die neuen Linie hinzu (-> 8 Linie). Da der Basispunkt dann meist ein anderer ist, stimmt am schluß nichts mehr. Lange Rede kurzer Sinn: Wie kann ich vor Beginn des Makros abfragen, ob der Block schon in der Zeichnung ist? -> Wenn Ja, dann soll er den Block nehmen und einfügen, ansonsten soll er den Block neu zeichnen. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
       

 Beiträge: 13530 Registriert: 30.11.2003 ACAD 2008 Mechanical
|
erstellt am: 12. Jul. 2004 08:14 <-- editieren / zitieren --> Unities abgeben:          Nur für The VIP
|
The VIP Mitglied Technischer Zeichner
 
 Beiträge: 170 Registriert: 06.09.2002 AutoCAD Mechanical 6 unter Windows XP
|
erstellt am: 12. Jul. 2004 10:48 <-- editieren / zitieren --> Unities abgeben:         
|
RoSiNiNo Mitglied Konstrukteur
   
 Beiträge: 1126 Registriert: 09.10.2002 Acad 2011-deutsch, Express Tools 3ds Max 2010 Win 7-Professional HP Workstation Z400, 6GB GeForce GTX 470
|
erstellt am: 12. Jul. 2004 17:08 <-- editieren / zitieren --> Unities abgeben:          Nur für The VIP
Probier einmal diese Funktion: Code: Public Function BlockInDrawing(BlockName) Dim BlCheck As AcadBlock On Error Resume Next Set BlCheck = ThisDrawing.Blocks(BlockName) If Err Then BlockInDrawing = False Else BlockInDrawing = True End If End Function
------------------ Roland Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
The VIP Mitglied Technischer Zeichner
 
 Beiträge: 170 Registriert: 06.09.2002 AutoCAD Mechanical 6 unter Windows XP
|
erstellt am: 13. Jul. 2004 08:37 <-- editieren / zitieren --> Unities abgeben:         
Hi RoSiNiNo. Danke, die Funktion hab ich bereits bei mir im Modul drin. Hab ich mal von dir bekommen  Ich denke die Abfrage muss richtig als If-Block kommen (nicht als Funktion). Denn später kommen ja die Zeilen
Code:
Set BLOCK_LINIE = BLOCK_RECHTECK.AddLine(Point3D(100,0), Point3D(100, 100)) Set BLOCK_LINIE = BLOCK_RECHTECK.AddLine(Point3D(100,100), Point3D(0, 100))
etc. etc. und die muss ich dann ja mit Else beantworten. If Block schon in der Zeichnung, dann - vorhandener Block einfügen Else - Linie zeichnen und zu Block hinzufügen - Block einfügen End if
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |

| |
RoSiNiNo Mitglied Konstrukteur
   
 Beiträge: 1126 Registriert: 09.10.2002 Acad 2011-deutsch, Express Tools 3ds Max 2010 Win 7-Professional HP Workstation Z400, 6GB GeForce GTX 470
|
erstellt am: 13. Jul. 2004 08:40 <-- editieren / zitieren --> Unities abgeben:          Nur für The VIP
|