| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: mit variablen Werten eine komplette Zeichnung erstellen (7547 mal gelesen)
|
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: 19. Aug. 2003 11:11 <-- editieren / zitieren --> Unities abgeben: Nur für The VIP
Hat warscheinlich schon geklappt, da mußt du allerdings aufpassen. Du bekommst ein Array mit Punkten zurück, wenn du da mehr Schnittpunkte hast, bekommst du natürlich auch ein Array mit mehr Werten zurück. Mußt also schaun, welchen Punkt du benötigst. ------------------ Roland 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: 01. Sep. 2003 17:12 <-- editieren / zitieren --> Unities abgeben: Nur für The VIP
Hallo VIP, ich bin gerade auf etwas gestoßen. Ich habe dir doch geraten, Objekte mit eigenen Funktionen, die den aktuellen Zeichnungsbereich abrufen, einzusetzen. Vielleicht geht es aber für dich so einfacher. Unter ThisDrawing stell einfach diesen Code. Code: Public Property Get CurrentSpace() As AcadBlock If Me.ActiveSpace = acModelSpace Then Set CurrentSpace = Me.ModelSpace Else If Me.MSpace Then Set CurrentSpace = Me.ModelSpace Else Set CurrentSpace = Me.ActiveLayout.Block End If End If End Property
Wenn du jetzt z.B einen Kreis einsetzen möchtest, dann müsstest du einfach nur folgendes schreiben Code: ThisDrawing.CurrentSpace.AddCircle....
------------------ 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: 05. Sep. 2003 08:11 <-- editieren / zitieren --> Unities abgeben:
Hi. Danke. Hab deinen Beitrag am Montag bereits gesehen. Aber ich komm im Moment einfach nicht so recht dazu was in VBA zu machen. Ich muss das noch ne Weile vor mich here schieben bis ich wieder daran arbeiten kann. Trotzdem Danke vorab für deinen Vorschlag. MfG The VIP [Diese Nachricht wurde von The VIP am 05. September 2003 editiert.] 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: 17. Sep. 2003 15:54 <-- editieren / zitieren --> Unities abgeben:
Hallo. Nochmal zu folgendem Problem: Ich würde gerne ein Variable abfragen bei der man j für Ja oder n für Nein eingeben muss. Allerdings funktioniert das bei mir nicht (ist String falsch hier?):
Code:
Dim TYP as String TYP = ThisDrawing.Utility.GetString(vbCr & "mit Glas <j/n>: ")
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: 17. Sep. 2003 16:10 <-- editieren / zitieren --> Unities abgeben: Nur für The VIP
Ist nicht falsch, du mußt aber mit "Keywords" arbeiten. Code: Dim keywordList As String ' Liste an Schlüsselwörtern Dim GlasKeyWord As String ' Schlüsselwortabfrage für GlasRETRYUSERINPUT: keywordList = "Ja Nein Yes No" ThisDrawing.Utility.InitializeUserInput 128, keywordList On Error Resume Next GlasKeyWord = ThisDrawing.Utility.GetKeyword(vbCr & "Mit Glas? [Ja/Nein] <J>: ") If Err Then Err.Clear GoTo ENDE Else Select Case GlasKeyWord Case "Ja", "Yes", "" 'was wenn User Ja eingegeben hat Case "Nein", "No" 'wenn er nein eingegeben hat Case Else ThisDrawing.Utility.Prompt "Ungültiger Optionstitel." & vbCrLf GoTo RETRYUSERINPUT End Select End If
Ich hoffe alles richtig geschrieben zu haben. ------------------ Roland Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dirk Thiesen Mitglied Ingenieur
Beiträge: 7 Registriert: 06.09.2002
|
erstellt am: 28. Okt. 2003 11:17 <-- editieren / zitieren --> Unities abgeben: Nur für The VIP
|
Dirk Thiesen Mitglied Ingenieur
Beiträge: 7 Registriert: 06.09.2002
|
erstellt am: 28. Okt. 2003 11:41 <-- editieren / zitieren --> Unities abgeben: Nur für The VIP
Hi, gerade hier wäre es doch sicher sinnvoll, mit Dialogboxen zu arbeiten, wie msgbox oder Inputbox, das wäre doch im Windows Zeitalter sicher Zeitgemäßer! Gruß Dirk Zitat: Original erstellt von RoSiNiNo: Ist nicht falsch, du mußt aber mit "Keywords" arbeiten.
Code: Dim keywordList As String ' Liste an Schlüsselwörtern Dim GlasKeyWord As String ' Schlüsselwortabfrage für GlasRETRYUSERINPUT: keywordList = "Ja Nein Yes No" ThisDrawing.Utility.InitializeUserInput 128, keywordList On Error Resume Next GlasKeyWord = ThisDrawing.Utility.GetKeyword(vbCr & "Mit Glas? [Ja/Nein] <J>: ") If Err Then Err.Clear GoTo ENDE Else Select Case GlasKeyWord Case "Ja", "Yes", "" 'was wenn User Ja eingegeben hat Case "Nein", "No" 'wenn er nein eingegeben hat Case Else ThisDrawing.Utility.Prompt "Ungültiger Optionstitel." & vbCrLf GoTo RETRYUSERINPUT End Select End If
Ich hoffe alles richtig geschrieben zu haben.
------------------ ------ Dirk Thiesen Thiesen Treppen Haan www.thiesen.de 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: 28. Okt. 2003 13:08 <-- editieren / zitieren --> Unities abgeben: Nur für The VIP
Das ist natürlich auch möglich, ich persönlich bin allerdings nicht so ein Fan von diesen Massageboxen bei so kleinen Fragen. Wie schon gesagt, das bleibt jedem selbst überlassen. ------------------ 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: 10. Dez. 2003 11:08 <-- editieren / zitieren --> Unities abgeben:
So, da melde ich mich nun nach langer Zeit wieder zurück um an meinem Makro weiterzuarbeiten. Ich war "leider" Mitglied in einem größeren Entwicklungsprojekt und konnte mich deshalb zeitlich nicht mit VBA beschäftigen Aber ab heute darf ich wieder meinem neuen Hobby nachgehen. @Dirk Thiesen: Wenn ich den Recoder installiert habe wie kann ich ihn dann starten. Da steht kurz nach der Installation was von "_options" usw. aber wie ich das Programm starte steht nicht da. Kannst du mir weiterhelfen? Danke im voraus. EDIT: Da fällt mir noch eine Frage ein die ich evtl. in diesem ellenlangen Thread schon mal gestellt hatte: Wenn ich einen Block eingefügt habe und diesen spiegeln möchte, aber das Quellobjekt löschen möchte, wie lautet dann der Befehl? Beispiel:
Code:
Set Block2 = Block2.Mirror(Point3D(0, 0), Point3D(10, 0))
[Diese Nachricht wurde von The VIP am 10. Dez. 2003 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |