| |
 | Online-Kurs: Grundlagen des 3D-Druck-Designs für Industrieingenieure , ein Kurs
|
Autor
|
Thema: Suche eine kleines Modul (396 mal gelesen)
|
User-Boris-100 Mitglied -

 Beiträge: 11 Registriert: 06.06.2005
|
erstellt am: 14. Sep. 2005 15:56 <-- editieren / zitieren --> Unities abgeben:         
Hallo Leute, bin auf der suche nach einem kleinen Modul welches ein Quadrat zeichnet und die Kantenlänge soll über eine Eingabe erfolgen (relativ simpel). Kann mir jemand helfen? Gruß bo
------------------ Boris Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
startrek Mitglied Architekt
   
 Beiträge: 1361 Registriert: 13.02.2003 .
|
erstellt am: 14. Sep. 2005 17:02 <-- editieren / zitieren --> Unities abgeben:          Nur für User-Boris-100
Hi Boris, geschnitten oder am Stück? SolidEdge oder Inventor, Corel oder Word?
Code:
Sub kleines_modul_für_ACAD() Dim rect As AcadPolyline Dim insp, L#, coo#(11) L = CDbl(ThisDrawing.Utility.GetString(0, "Kantenlänge: ")) insp = ThisDrawing.Utility.GetPoint(, "Einfügepunkt:") coo(0) = insp(0): coo(1) = insp(1): coo(2) = insp(2) coo(3) = coo(0) + L: coo(4) = coo(1): coo(5) = coo(2) coo(6) = coo(3): coo(7) = coo(4) + L: coo(8) = coo(2) coo(9) = coo(0): coo(10) = coo(7): coo(11) = coo(2) Set rect = ThisDrawing.ModelSpace.AddPolyline(coo) rect.Closed = True End Sub
Schreibs das nächste Mal dazu oder frag' gleich im Autocad/VBA;-) BTW , gute Beispielcodes zum Erzeugen von Objekten gibts auch in der VBA Referenz.Gruss Nancy Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
hep Mitglied

 Beiträge: 29 Registriert: 19.08.2005
|
erstellt am: 23. Sep. 2005 20:36 <-- editieren / zitieren --> Unities abgeben:          Nur für User-Boris-100
Hallo, ich bin gerade dabei mich mit dem Zugriff von VB 6.0 auf Acad 2002 zu beschäftigen. Könnte evtl jemand das Beispiel mir so ergänzen das ich aus einem VB 6.0 diese Programm ausführen kann. Für einen Tip wie ich einen Block (vorhandene dwg oder selber zeichnen s.vor) mit Attribute in eine dwg bekomme wäre ich sehr dankbar. Danke im voraus hep Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
startrek Mitglied Architekt
   
 Beiträge: 1361 Registriert: 13.02.2003 .
|
erstellt am: 24. Sep. 2005 14:06 <-- editieren / zitieren --> Unities abgeben:          Nur für User-Boris-100
Hi hep, müsste für obiges so in etwa ausschauen:
Code:
Private Sub Command1_Click() Dim ac As Object, acDoc As Object Dim rect As Object Dim insp, L#, coo#(11) Set ac = CreateObject("autocad.application.15") Set acDoc = ac.activedocument ac.Visible = True L = CDbl(acDoc.Utility.GetString(0, "Kantenlänge: ")) insp = acDoc.Utility.GetPoint(, "Einfügepunkt:") coo(0) = insp(0): coo(1) = insp(1): coo(2) = insp(2) coo(3) = coo(0) + L: coo(4) = coo(1): coo(5) = coo(2) coo(6) = coo(3): coo(7) = coo(4) + L: coo(8) = coo(2) coo(9) = coo(0): coo(10) = coo(7): coo(11) = coo(2) Set rect = acDoc.ModelSpace.AddPolyline(coo) rect.Closed = True End Sub
Alternativ, wenns sicher immer 2002 ist, kannst du auch unter Projekt > Verweise die Appli einbinden, damit hast du den Objektkatalog von Acad zur Verfügung.Gruss Nancy [Diese Nachricht wurde von startrek am 24. Sep. 2005 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
hep Mitglied

 Beiträge: 29 Registriert: 19.08.2005
|
erstellt am: 25. Sep. 2005 09:48 <-- editieren / zitieren --> Unities abgeben:          Nur für User-Boris-100
Danke Nancy, es tut. Ich werde den Code verwenden, der alternativ Vorschlag ist interessant, ich muß aber sicher inrgendwann mein AC 2002 updaten und dann gehts wohl nicht mehr und as wäre schade. Eine weitere Frage hätte ich aber noch. Wie kann man in VB 6.0 erkennen ob schon eine Instanz von Acad läuft? Im Moment macht mir das kleine Beispiel Acad ein weiteres mal auf. Grüße und einen schönen Sonntag hep Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |