| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
 | Von Digital Twins bis Hochleistungs-Computing: PNY präsentiert seine Zukunftstechnologien für die Industrie von morgen, eine Pressemitteilung
|
Autor
|
Thema: VBA Problem (1323 mal gelesen)
|
Purzel Mitglied Maschinenbautechniker

 Beiträge: 14 Registriert: 28.03.2003
|
erstellt am: 07. Apr. 2004 11:30 <-- editieren / zitieren --> Unities abgeben:         
Hallo zusammen, ich hoffe ihr könnt mir den entscheidenden Tipp geben. Ich füge über VBA verschiedene Blöcke ein. Dazu muss ich einen Startpunkt und einen Endpunkt, über Getpoint, eingeben. Klappt alles prima. Ich möchte jedoch sobald ich den Startpunkt definiert habe eine dynamische Voransicht dargestellt bekommen. Wenn ich eine Linie zeichne habe ich diese Ansicht. Ich sehe die Linie nachdem ich den Startpunkt definiert habe obwohl ich noch keinen Endpunkt habe. Ich hoffe das mir jemand helfen kann. Gruß Purzel
------------------ Gruß Purzel Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dressler Mitglied technischer Angestellter
 
 Beiträge: 301 Registriert: 19.11.2003 Acad 2002
|
erstellt am: 07. Apr. 2004 11:40 <-- editieren / zitieren --> Unities abgeben:          Nur für Purzel
Hallo Purzel, soweit ich mich bisher in diesem Forum schlauer gelesen habe kannst Du Blöcke nicht so sichtbar am Bildschirm einfügen. Es gibt allerdings soweit ichweiß bei ACADX ein Tool mit dem das möglich ist. ------------------ Gruß Björn Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Purzel Mitglied Maschinenbautechniker

 Beiträge: 14 Registriert: 28.03.2003
|
erstellt am: 07. Apr. 2004 11:43 <-- editieren / zitieren --> Unities abgeben:         
|
Purzel Mitglied Maschinenbautechniker

 Beiträge: 14 Registriert: 28.03.2003 Catia V5 R14 SP7 Pentium 4, 3,6 GHz, 3 GB Ram NIVDIA Quadro FX 3400
|
erstellt am: 07. Apr. 2004 12:13 <-- editieren / zitieren --> Unities abgeben:         
|
Dressler Mitglied technischer Angestellter
 
 Beiträge: 301 Registriert: 19.11.2003 Acad 2002
|
erstellt am: 07. Apr. 2004 12:20 <-- editieren / zitieren --> Unities abgeben:          Nur für Purzel
Sub Example_AddLine() ' This example adds a line in model space Dim lineObj As AcadLine Dim startPoint(0 To 2) As Double Dim endPoint(0 To 2) As Double ' Define the start and end points for the line startPoint(0) = 1#: startPoint(1) = 1#: startPoint(2) = 0# endPoint(0) = 5#: endPoint(1) = 5#: endPoint(2) = 0# ' Create the line in model space Set lineObj = ThisDrawing.ModelSpace.AddLine(startPoint, endPoint) ZoomAll End Sub ------------------ Gruß Björn Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Purzel Mitglied Maschinenbautechniker

 Beiträge: 14 Registriert: 28.03.2003
|
erstellt am: 07. Apr. 2004 12:29 <-- editieren / zitieren --> Unities abgeben:         
Hallo Björn, erst einmal Danke für deine schnelle Hilfe. das Einfügen einer Linie ist jedoch nicht das Problem. Ich möchte den Startpunkt über Mausklick definiern dann die Linie am Curser haben und den Endpunkt wiederum per Mausklick definieren. Gruß Purzel ------------------ Gruß Purzel Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
harryk Mitglied Projektleiter
 
 Beiträge: 124 Registriert: 19.08.2003 Revit 2019, ACMep2019, F360
|
erstellt am: 07. Apr. 2004 13:35 <-- editieren / zitieren --> Unities abgeben:          Nur für Purzel
hi, ... p1=getpoint(,"1. Punkt:") p2=getpoint(p1,"2. Punkt") ....addLine p1, p2 usw. usw..... mit linien und plines gehts schonmal, bei kreisen wirst du da aber kein glück haben hier nochmal der auszug aus der hilfe: ------------------------------------------------------------------- RetVal = GetPoint([Point][, Prompt])
The AutoCAD user can specify the point by entering a coordinate in the current units format; GetPoint treats the Point parameter and the return value as three-dimensional points. The user can specify the point also by specifying a location on the graphics screen. If the Point parameter is provided, AutoCAD draws a rubber-band line from Point to the current crosshair position. --------------------------------------------------------------------- gruss, harry Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Purzel Mitglied Maschinenbautechniker

 Beiträge: 14 Registriert: 28.03.2003
|
erstellt am: 07. Apr. 2004 13:46 <-- editieren / zitieren --> Unities abgeben:         
|
Dressler Mitglied technischer Angestellter
 
 Beiträge: 301 Registriert: 19.11.2003 Acad 2002
|
erstellt am: 07. Apr. 2004 13:49 <-- editieren / zitieren --> Unities abgeben:          Nur für Purzel
Hallo Harry, mein Zusammengewürfel ist dann garnicht so schlecht gewesen: ' This example returns a point entered by the user. Dim startPoint(0 To 2) As Double Dim endPoint(0 To 2) As Double Dim returnPnt As Variant Dim lineObj As AcadLine ' Return a point using a prompt returnPnt = ThisDrawing.Utility.GetPoint(, "Enter a point: ") startPoint(0) = returnPnt(0): startPoint(1) = returnPnt(1): startPoint(2) = returnPnt(2) ' Return a point, no prompt returnPnt = ThisDrawing.Utility.GetPoint endPoint(0) = returnPnt(0): endPoint(1) = returnPnt(1): endPoint(2) = returnPnt(2) Set lineObj = ThisDrawing.ModelSpace.AddLine(startPoint, endPoint) ZoomAll Allerdings hängt dabei die Linie nicht an der Maus, wie es beim normalen Zeichnen der Fall ist. ------------------ Gruß Björn Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
harryk Mitglied Projektleiter
 
 Beiträge: 124 Registriert: 19.08.2003
|
erstellt am: 07. Apr. 2004 15:35 <-- editieren / zitieren --> Unities abgeben:          Nur für Purzel
@purzel: du übergibst für den 2. punkt einfach den 1. punkt als parameter mit dazu, dann hängt der cursor an einem gummiband. das merkt kein mensch wenn du unmittelbar darauf die linie erzeugst. schnelltest: Sub linieangummiband() ' This example returns a point entered by the user. Dim startPoint(0 To 2) As Double Dim endPoint(0 To 2) As Double Dim returnPnt As Variant Dim lineObj As AcadLine ' Return a point using a prompt returnPnt = ThisDrawing.Utility.GetPoint(, "Enter a point: ") startPoint(0) = returnPnt(0): startPoint(1) = returnPnt(1): startPoint(2) = returnPnt(2) ' Return a point, no prompt returnPnt = ThisDrawing.Utility.GetPoint(startPoint, "Enter noch nen Point:") endPoint(0) = returnPnt(0): endPoint(1) = returnPnt(1): endPoint(2) = returnPnt(2) Set lineObj = ThisDrawing.ModelSpace.AddLine(startPoint, endPoint) End Sub @dressler: gut gemacht dressler, setzen! :-)) (hab mir deinen file angesehen, ich probier mal was, brauch aber nen bissl.) gruesse, harry Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dressler Mitglied technischer Angestellter
 
 Beiträge: 301 Registriert: 19.11.2003 Acad 2002
|
erstellt am: 07. Apr. 2004 15:39 <-- editieren / zitieren --> Unities abgeben:          Nur für Purzel
|
Purzel Mitglied Maschinenbautechniker

 Beiträge: 14 Registriert: 28.03.2003
|
erstellt am: 07. Apr. 2004 15:47 <-- editieren / zitieren --> Unities abgeben:         
|