| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Schnitt programmieren (1807 mal gelesen)
|
adblue Mitglied .
Beiträge: 57 Registriert: 22.05.2009
|
erstellt am: 29. Jul. 2009 09:37 <-- editieren / zitieren --> Unities abgeben:
|
Ex-Mitglied
|
erstellt am: 29. Jul. 2009 09:55 <-- editieren / zitieren -->
Hi, neben dem Befehl 'schnebene', den es ja in AutoCAD schon gibt, geht's ein wenig genauer? Mal eine Zeichnung, in der Du das händisch gemacht hast, was Du automatisieren willst, wäre schon ein Plus. Den Code was Du bisher probiert hast, gibt das zweite Plus. Nur als Beispiel ==> ich kann durch ein Gelände einen Schnitt machen und genauso durch ein Maschinenbau- oder Architekturobjekt und alles sieht anders aus und hat andere Ergebnisse. Bei der Definition 'Schnitt durch die Zeichnung' hätte ich zuerst an Schere durch Blatt Papier gedacht. - alfred - ------------------ www.hollaus.at |
adblue Mitglied .
Beiträge: 57 Registriert: 22.05.2009
|
erstellt am: 29. Jul. 2009 10:00 <-- editieren / zitieren --> Unities abgeben:
danke erstmal. in der zwischenzeit bin ich auf "_section" gestoßen. nach der eingabe von "_section" braucht autocad objekte zum schneiden. die bekommt es durch markieren mit der maus. und dieses markieren will ich in vba programmieren den vba befehl addSection(..) verstehe ich nicht ganz?
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 29. Jul. 2009 10:12 <-- editieren / zitieren -->
Hi, hilft das?
Code:
Dim tPnt0(2) As Double Dim tPnt1(2) As Double Dim tPnt2(2) As Double tPnt0(0) = 0#: tPnt0(1) = 0#: tPnt0(2) = 0# 'xyz Basispunkt der Schnittebene tPnt1(0) = 5#: tPnt1(1) = 0#: tPnt1(2) = 0# 'xyz zweiter Punkt der Schnittebene tPnt2(0) = 0#: tPnt2(1) = 0#: tPnt2(2) = 5# 'xyz dritter Punkt der Schnittebene Dim tSec As AcadSection Set tSec = ThisDrawing.ModelSpace.AddSection(tPnt0, tPnt1, tPnt2)
- alfred - ------------------ www.hollaus.at |
adblue Mitglied .
Beiträge: 57 Registriert: 22.05.2009
|
erstellt am: 29. Jul. 2009 10:23 <-- editieren / zitieren --> Unities abgeben:
|
Ex-Mitglied
|
erstellt am: 29. Jul. 2009 10:38 <-- editieren / zitieren -->
Hi, Zitat: mit meinen punkten...
==> Glaskugel Ich kenne Deine Punkte und Deinen Code nicht, ev. definieren diese 3 Punkte keine Ebene? - alfred - ------------------ www.hollaus.at |
adblue Mitglied .
Beiträge: 57 Registriert: 22.05.2009
|
erstellt am: 29. Jul. 2009 10:44 <-- editieren / zitieren --> Unities abgeben:
tPnt0(0) = 0#: tPnt0(1) = 0#: tPnt0(2) = -2# 'xyz Basispunkt der Schnittebene tPnt1(0) = 5#: tPnt1(1) = 0#: tPnt1(2) = -2# 'xyz zweiter Punkt der Schnittebene tPnt2(0) = 10: tPnt2(1) = 10#: tPnt2(2) = -2# 'xyz dritter Punkt der Schnittebene müssen diese drei punkte auf einer ebene sein? in der erklärung in vba kommt bei addSEction(punkt1,punkt2,PlaneVektor) was ist mit planeVektor gemeint? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 29. Jul. 2009 11:12 <-- editieren / zitieren -->
Hi, Zitat: was ist mit planeVektor gemeint?
...ein Vektor senkrecht auf die ersten beiden Punkte, damit die Schnittrichtung klar wird. Und damit ist glaub ich auch schon klar, wo der Fehler liegt. - alfred - ------------------ www.hollaus.at |
adblue Mitglied .
Beiträge: 57 Registriert: 22.05.2009
|
erstellt am: 29. Jul. 2009 11:19 <-- editieren / zitieren --> Unities abgeben:
aber nochwas: wenn ich den befehl _section manuelle ausführe, muss ich die schnittobjekte mit der maus auswählen. wie mache ich das mit vba. bisher liegt nur die schnittebene drin und es hat noch kein schnitt (also darstellung der schnittkanten) stattgefunden. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 29. Jul. 2009 11:31 <-- editieren / zitieren -->
Hi, dann schau Dir GenerateSectionGeometry an, diesem übergibst Du das zu schneidende Objekt und bekommst alles andere (Geometrie geschnitten, Geometrie davor, Geometrie dahinter) zurück (wenn ich die Hilfe richtig verstehe. - alfred - ------------------ www.hollaus.at |
adblue Mitglied .
Beiträge: 57 Registriert: 22.05.2009
|
erstellt am: 29. Jul. 2009 12:05 <-- editieren / zitieren --> Unities abgeben:
|
Ex-Mitglied
|
erstellt am: 29. Jul. 2009 12:11 <-- editieren / zitieren -->
Ich habe im Code bei der Deklaration 'Dim tSec as AcadSection' meinen Cursor auf 'AcadSection' gestellt und auf F1 gedrückt. Da bekomm ich zum Objekt die Methoden/Eigenschaften/Events. - alfred - ------------------ www.hollaus.at |