| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
 | PNY: der unverzichtbare Partner für umfassende KI-Lösungen von Workstations bis zu Edge Computing und KI-Cluster-Bereitstellung, eine Pressemitteilung
|
Autor
|
Thema: Block Zuschneiden (3999 mal gelesen)
|
c.schojer Mitglied
 
 Beiträge: 299 Registriert: 23.05.2007 Autocad 2018
|
erstellt am: 06. Jul. 2009 09:32 <-- editieren / zitieren --> Unities abgeben:         
Hallo liebe Kollegen! Folgendes Problem: Ich habe zb einen Block eingefügt der mittels einer Polylinie zugeschnitten wurde funktioniert ja mittels dem Befehl _xclip Die Frage ist kann ich das auch irgendwie mit VBA machen? (Sauber ohne sendcommand) Gibts da irgendwo ne Doku dazu?? Mfg Chris Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 06. Jul. 2009 12:26 <-- editieren / zitieren -->
Hi Chris, mit VBA wird's schwer (bin jetzt nicht mal sicher, ob überhaupt möglich), mit dotNET kann man eine ARX-Funktion mit Invoke und Pointern zu den Objekten (BlockReference und Outline) aufrufen. Du fragst nach Doku ==> nein Sorry, ich hätts nirgends gefunden Und bevor ich dann am Abend lange suche: wirklich VBA oder dotNET? - alfred - ------------------ www.hollaus.at |
c.schojer Mitglied
 
 Beiträge: 299 Registriert: 23.05.2007 Autocad 2018
|
erstellt am: 06. Jul. 2009 12:32 <-- editieren / zitieren --> Unities abgeben:         
|
Ex-Mitglied
|
erstellt am: 06. Jul. 2009 13:44 <-- editieren / zitieren -->
Hi, was hast Du bisher schon? Damit ich zumindest ableiten kann, wie Du mit Polylinien/Grenzen zum Clippen umgehst, welche Objektarten Du clipst, .... Wenn ich versuche, es mit VBA zu machen (ist, wenn ich mich recht erinnere 'hacking into the XRecords'), würde ich gerne zuerst sehen, worauf ich mich einlasse, ev. gibt es darin schon Ausschliessungsgründe. Am besten mit dem Code, mit dem Du's derzeit machst und Zeichnung(en) mit den bei Dir vorkommenden Gegebenheiten. - alfred - ------------------ www.hollaus.at |
c.schojer Mitglied
 
 Beiträge: 299 Registriert: 23.05.2007 Autocad 2018
|
erstellt am: 06. Jul. 2009 13:53 <-- editieren / zitieren --> Unities abgeben:         
Naja bisher hab ich nicht viel gerade mal das filtern aus dem Selectionset =>Polylinie und Block Und anhand der Koordinaten der Polylinie wollte ich ein Clipping erstellen. Das Clipping was ich gesehen habe geht aber nur für Bilder und bringt mir nix. Ich hab nicht mal einen Ansatz wie ich das mit vba realisieren könnte (Bis auf mit Sendcommand) Aber es wäre gut wenns mit VBA ginge (automatisches nachziehen wenn sich die Polylinie ändert. Das wäre mein Ziel) Mfg Chris Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 06. Jul. 2009 14:03 <-- editieren / zitieren -->
Hi, und welche Polylinientypen hast Du? 2D-Poly, LW-Poly, mit gesplined und 'Kurve angeglichen'. ==> Genau für diese Fragen hätte ich mir gewünscht, bestehenden Code zu sehen und Musterzeichnungen, wo die Zustände, die bei Dir vorkommen, ersichtlich sind. Wie gehst Du mit den Bögen um? (Clip geht nur mit geraden Polyliniensegmenten! Also müssen vorher Bögen segmentiert werden) Dann willst Du wahrscheinlich, wenn die Grenze assoziativ sein soll, nicht die segmentierten Vertizes modifizieren, um z.B. für den Bogen im Verlauf der Polylinie einen Radius zu ändern. Da gehört ein ganzer Workflow dahinter! Mach das mal und schick mir dann den Code, ich ergänze dann wenn möglich, damit's (hoffentlich) mit VBA funkt. - alfred - ------------------ www.hollaus.at |
c.schojer Mitglied
 
 Beiträge: 299 Registriert: 23.05.2007 Autocad 2018
|
erstellt am: 06. Jul. 2009 14:24 <-- editieren / zitieren --> Unities abgeben:         
Hallo Also das mit den Bögen habe ich selbst noch nicht bedacht Mit _Xclip funktioniert das mit dem anklicken der Polylinie als Objekt Siehe Dwg da siehst einen fertig zurechtgeschnittenen Block. Der Code ist natürlich nur mager aber mir gehts vor allem mal um grundsätzliches! Mfg Chris Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 06. Jul. 2009 21:08 <-- editieren / zitieren -->
Hi, sorry, ich sehe keine Möglichkeit, dies in VBA zu tun ohne über Lisp oder dotNET oder ARX auszuweichen. Mit Lisp hast Du hier einen Code Wenn es einfacher sein soll, dann kannst Du auch über das VL-Application-Object mit '(command "_xclip" ...' aus VBA heraus arbeiten. Aber eine Lösung hier zu präsentieren, die das gesamte Event-Handling für nachfolgendes Ändern der Grenzpolylinie inkludiert, benötigt einige Zeit (zumindest deutlich mehr als ich hier geben kann).  Hoffe es hilft Dir trotzdem weiter, - alfred - ------------------ www.hollaus.at |
c.schojer Mitglied
 
 Beiträge: 299 Registriert: 23.05.2007 Autocad 2018
|
erstellt am: 07. Jul. 2009 07:07 <-- editieren / zitieren --> Unities abgeben:         
Du Danke vorerst mal Gibts ev ne Möglichkeit Paramter an lisp weiterzugeben zb die Handles von dem Polyline Objekt und dem Block sodaß man nur ne Funktion schreibt die das Clipping macht?? Es ist nur so in Lisp bin ich nicht sehr bewandert Das Event Handling könnte ich ja in VBA machen... wäre für mich einfacher! Mfg Chris Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 07. Jul. 2009 09:28 <-- editieren / zitieren -->
Hi, mit z.B. (handent "3D2") kannst Du das Objekt mit dem Handle &h3D2 an Lisp übergeben, Du kannst genauso nur den Handle als Text übergeben und dann im Lisp mit 'handent' auswerten. Wenn es Dir darum geht, wie man in Lisp eine Funktion definiert, die Parameter übernimmt ==> das kriegst Du auch schon aus der Hilfe direkt raus, da steht z.B. (defun sym ([arguments] [/ variables...]) expr...) HTH, - alfred - ------------------ www.hollaus.at |
c.schojer Mitglied
 
 Beiträge: 299 Registriert: 23.05.2007 Autocad 2018
|
erstellt am: 07. Jul. 2009 11:06 <-- editieren / zitieren --> Unities abgeben:         
|
c.schojer Mitglied
 
 Beiträge: 299 Registriert: 23.05.2007 Autocad 2018
|
erstellt am: 07. Jul. 2009 11:12 <-- editieren / zitieren --> Unities abgeben:         
|
Ex-Mitglied
|
erstellt am: 27. Jul. 2009 21:42 <-- editieren / zitieren -->
Hi, vorerst mal sorry, der Thread ist mir 'entglitten'. Zitat: Bekomme das Lisp programm von oben nicht zum laufen?
...kannst Du mir den Code zeigen, damit ich mir vorstellen kann, woran's scheitern könnte. Arbeitest Du jetzt mit Lisp oder VBA (aus dem heraus Du etwas Lisp-artiges starten willst)? - alfred - ------------------ www.hollaus.at |