| |  | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte | | |  | NVIDIA GTC Paris und ISC High Performance-Konferenz 2025, eine Pressemitteilung
|
Autor
|
Thema: Sendcommand + MS Form (1240 mal gelesen)
|
Christian Blei Mitglied
 
 Beiträge: 124 Registriert: 23.06.2008 Thinkpad T60p, 4GB XP,Autocad 2010, ProStructures V8i 2, VBA, VB.NET,
|
erstellt am: 27. Jul. 2009 20:07 <-- editieren / zitieren --> Unities abgeben:         
Hallo! Ich bräuchte Hilfe beim Erstellen eines lofted solids. Mit Hilfe bin ich soweit, das ich über sendcommand den loft Befehl aufrufe und dann aus einem Selectionset die Namen der Querschnitte nacheinander in die Kommandozeile einlese. Dann kommt in diesem Befehl allerdings eine MS Form für das Feintuning. Gibt es in vba oder lisp eine Möglichkeit die Einstellungen in dieser MS Form zu machen und sie dann mit einem ok zu schliessen? oder bleibt mir nur der Mausklick? ( ich beginne gerade mit .net, und so wie ich verstehe, wäre es in .net möglich ein lofted solid mit den notwendigen Einstellungen zu programmieren) (Vielen Dank jetzt schon an a.n.....) Christian Blei Sub test_Sendcommand()
Dim I As Long
Dim Ent As AcadEntity Dim acSS As AcadSelectionSet Dim Pline As AcadLWPolyline Dim EntArray() As AcadEntity
Err.Clear On Error Resume Next Set acSS = ThisDrawing.SelectionSets.Item("LoftSS") If Err.Number <> 0 Then Set acSS = ThisDrawing.SelectionSets.Add("LoftSS") End If acSS.Clear For I = 0 To 1 ThisDrawing.Utility.GetEntity Pline, Point, "First" ReDim EntArray(0) Set EntArray(0) = Pline acSS.AddItems (EntArray) Debug.Print Pline.Handle + CStr(acSS.Count) Next I
ThisDrawing.SendCommand ("_.loft ")
For I = 0 To acSS.Count - 1 Set Ent = acSS.Item(I) Debug.Print Ent.Handle ThisDrawing.SendCommand ("(handent " & Chr(34) & Ent.Handle & Chr(34) & ") ") Next I ThisDrawing.SendCommand (vbCr + "Cross sections only" + vbCr) '''''''''''''''''''''''''''''''''''''''''''''''''' ' Dialog box ????????????????????????????????????? ''''''''''''''''''''''''''''''''''''''''''''''''''
Debug.Print ThisDrawing.SelectionSets.Count Set Entity = ThisDrawing.ModelSpace.Item(ThisDrawing.ModelSpace.Count - 1) Entity.color = 1 End Sub Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 27. Jul. 2009 20:31 <-- editieren / zitieren -->
Hi, herzlich willkommen bei CAD-de!  Zitat: Dann kommt in diesem Befehl allerdings eine MS Form für das Feintuning. Gibt es in vba oder lisp eine Möglichkeit die Einstellungen in dieser MS Form zu machen und sie dann mit einem ok zu schliessen? oder bleibt mir nur der Mausklick?
...auf die Schnelle? ==> bleibt Dir nur der Mausklick. Solange Du in VBA bist, hast Du kein Multithreading, damit steht Dein Code bis der Dialog vom Anwender bestätigt wird. Hättest Du eine Möglichkeit für Multithreading, dann könntest Du vorher einen parallelen Prozess starten, der mit SendKey (oder ähnlichem) Dir den Dialog bedient und auch das OK auslöst. Aber das ist heftig, mag sein, dass Deine Aufgabe es notwendig macht, diese kenn ich eben nicht. Zitat: ich beginne gerade mit .net, und so wie ich verstehe, wäre es in .net möglich ein lofted solid mit den notwendigen Einstellungen zu programmieren
...BRep-Library ist auch nicht gerade der ideale Einstieg für dotNET (oder C++ oder was auch immer), da ist die Lib selbst schon zu geheimnisvoll (in bezug auf fehlende Doc's). Probier bitte mal an einfacheren Beispielen! Zitat: Vielen Dank jetzt schon an a.n.....
...na da musste ich doch gleich ran  ... aber hier gibt's mehr Profis, muß nicht ich sein! - alfred - ------------------ www.hollaus.at |

| |
Christian Blei Mitglied
 
 Beiträge: 124 Registriert: 23.06.2008 Thinkpad T60p, 4GB XP,Autocad 2010, ProStructures V8i 2, VBA, VB.NET,
|
erstellt am: 28. Jul. 2009 07:04 <-- editieren / zitieren --> Unities abgeben:         
Hi Alfred, Danke für das herzliche Willkommen! Wenn ich in VBA keine Chance habe ist das zwar schade, aber kein Drama. Das heisst nur, dass mein Code nicht durchläuft sondern der User mit dem Finger auf der Enter Taste dasitzen muss. Und natürlich Einstellungenn verändern kann.......... Deswegen wäre es mir schon lieber, ich könnte die Form steuern. Mit . net bin ich in den Anfängen. Und übe erst einmal mit sehr einfachen Sachen. Aber ich versuche schon ein Gefühl zu bekommen, was im Vergleich mit VBA Alles geht. Da ich kein Lispler bin, gehen mir die Sendcommands auch nicht immer leicht von der Hand. Auch deswegen, und natürlich wegen 64 bit, .net. Grüsse Christian Blei Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
 |