| |
 | 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: UCS ändern (2147 mal gelesen)
|
js-cad Mitglied Techn. Zeichner

 Beiträge: 14 Registriert: 14.03.2010
|
erstellt am: 14. Mrz. 2010 21:57 <-- editieren / zitieren --> Unities abgeben:         
Hallo Zusammen, ich verstehe die Einstellungen vom Koordinatensystem nicht. Gibt es vernünftige VBA-Hilfe, z.B. mit Programmbeispielen? Jetzt zu meinem Problem. Ich möchte durch Abgriff von zwei Punkten das Koordinatensystem so einstellen, dass die Y-Achse vom ersten Abgriffpunk zum zweiten Punkt ausgerichtet ist. Weiß jemand wie das geht? ------------------ Gruß Jakob Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 14. Mrz. 2010 22:51 <-- editieren / zitieren -->
Hi, aus der AutoCAD-VBA-Hilfe: Code: ' Create a UCS named "New_UCS" in current drawing Dim ucsObj As AcadUCS Dim origin(0 To 2) As Double Dim xAxisPnt(0 To 2) As Double Dim yAxisPnt(0 To 2) As Double ' Define the UCS origin(0) = 4#: origin(1) = 5#: origin(2) = 3# xAxisPnt(0) = 5#: xAxisPnt(1) = 5#: xAxisPnt(2) = 3# yAxisPnt(0) = 4#: yAxisPnt(1) = 6#: yAxisPnt(2) = 3# ' Add the UCS to the UserCoordinatesSystems collection Set ucsObj = ThisDrawing.UserCoordinateSystems.Add(origin, xAxisPnt, yAxisPnt, "New_UCS") MsgBox ucsObj.name & " has been added." & vbCrLf & _ "Origin: " & ucsObj.origin(0) & ", " & ucsObj.origin(1) _ & ", " & ucsObj.origin(2), , "Add Example" Return
HTH, - alfred - ------------------ www.hollaus.at |
js-cad Mitglied Techn. Zeichner

 Beiträge: 14 Registriert: 14.03.2010
|
erstellt am: 15. Mrz. 2010 09:55 <-- editieren / zitieren --> Unities abgeben:         
Danke Alfred, dieses Beispiel hatte ich schon gefunden. Wenn ich die Hilfe im VB-Editor öffne und nach UCS, BKS, Koordinaten usw. suche bekomme ich nur "Kein Thema gefunden" zurück. Woran kann das liegen? Ich verstehe die Bedeutung der Zahlen 3# bis 6# in dem Beispiel nicht.
------------------ Gruß Jakob Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 15. Mrz. 2010 10:09 <-- editieren / zitieren -->
Hi, wenn Du meinen Code im VBA-IDE drin hast, dann stell Deinen Cursor mal auf 'AcadUCS' drauf und drück <F1>. Kommt da nix, dann hat Dein Projekt was (Verweise?), Deine Hilfe was, Deine Installation was oder Dein Betriebssystem mag mit diesen Hilfedateien nix machen. Was kommt denn, wenn Du auf <F1> klickst? >> Ich verstehe die Bedeutung der Zahlen 3# bis 6# in dem Beispiel nicht.
Es gibt für ein Koordinatensystem die Möglichkeit, es über 3 Punkt zu bestimmen, und so ist es hier auch: - Basispunkt - Punkt auf X-Achse - Punkt auf Y-Achse - alfred - ------------------ www.hollaus.at |
js-cad Mitglied Techn. Zeichner

 Beiträge: 14 Registriert: 14.03.2010
|
erstellt am: 15. Mrz. 2010 11:56 <-- editieren / zitieren --> Unities abgeben:         
Das ist ja perfekt! ich habe davor einfach auf F1 geklickt ohne ein Objekt zu markieren, dann hat er mir die VB-Hilfe geöffnet. Vielen Dank, jetzt werde ich mir selber helfen können. ------------------ Gruß Jakob Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
js-cad Mitglied Techn. Zeichner

 Beiträge: 14 Registriert: 14.03.2010 AutoCAD 2012/2013, hsbCAD, WinXP/32Bit, 4GB RAM, ATI FireGL V3350
|
erstellt am: 21. Mrz. 2010 22:46 <-- editieren / zitieren --> Unities abgeben:         
Hallo, mit dem BKS habe ich es hinbekommen. Ich klicke einen Anfangspunkt einer Bohrung und den Endpunkt und das BKS wird immer so ausgerichtet, dass die Y-Achse in Bohrungsrichtung zeigt. Da meine Blöcke (Schrauben) alle in Y-Richtung ausgerichtet sind habe ich gehofft, dass die Blöcke automatisch in Y-Richtung zeigen. Aber so funktioniert es nicht, der Block zeigt immer in die ursprüngliche Y-Richtung des WKS. Wie kann ich die Blöcke in das aktuelle BKS einfügen? ------------------ Gruß Jakob Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 21. Mrz. 2010 22:57 <-- editieren / zitieren -->
Hi, hängt davon ab, wie Du den Block einfügst. - Mit SendCommand (weniger zu empfehlende Lösung) muss das aktuelle BKS wirken. - Mit ThisDrawing.ModelSpace.InsertBlock sind die Einstellungen eines BKS nicht wirksam. Dann ist die Frage, arbeitest Du mit VBA, mit VB6 oder mit VB.NET. Wenn wir mal streng nach dem Titel des Forums gehen (und daher VBA annehmen), dann hast Du Dich mit '.Rotate3D' oder mit '.TransformBy' auseinanderzusetzen. - alfred - ------------------ www.hollaus.at |
js-cad Mitglied Techn. Zeichner

 Beiträge: 14 Registriert: 14.03.2010
|
erstellt am: 22. Mrz. 2010 13:25 <-- editieren / zitieren --> Unities abgeben:         
das ging ja schnell. Vielen Dank. ich arbeite mit VBA und füge den Block mit ThisDrawing.ModelSpace.InsertBlock ein. Es würde mir aber vollkommen ausreichen wenn ich den Block nach Ausführung des Programms manuel einfügen würde, weil das BKS schon richtig eingestellt ist. D.H. der Block soll nach Ablauf am Fadenkreuz hängen und ich würde die Richtung manuel eingeben. ------------------ Gruß Jakob Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 22. Mrz. 2010 17:16 <-- editieren / zitieren -->
Hi, dann starte SendCommand nachdem Du das BKS gerichtet hast und gib diesem soviel Parameter mit, wie notwendig, dann bei Abfrage des Einfügepunkts ist halt der String, den Du mit SendCommand schickst, aus. - alfred - ------------------ www.hollaus.at |