| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| PNY wird von NVIDIA zum Händler des Jahres gewählt – zum dritten Mal in Folge, eine Pressemitteilung
|
Autor
|
Thema: Selbsterstellte Massstabsleiste automatisiert skalieren (4626 mal gelesen)
|
dusan.markovic Mitglied
Beiträge: 53 Registriert: 11.06.2009 Betriebssystem: MS Windows XP Professional - SP3 Prozessor: Intel Core 2 Duo 2.2GHz (Centrino) Arbeitsspeicher: 4GB Grafikkarte: Mobile Intel 965 Express - Shared Memory AutoCAD 2008 Version
|
erstellt am: 07. Jul. 2009 11:41 <-- editieren / zitieren --> Unities abgeben:
Ein liebes hallo an alle, ich stehe wieder mal vor einem AutoCAD Problem und habe keinen Lösungsansatz, muss auch dazu sagen, dass ich ziemlich neu auf diesem Gebit bin. Es geht hierbei um folgendes Problem: Ich möchte eine selbsterstellte Massstabsleiste auf dem Papierbereich in Abhängigkeit von der Skalierung des Ansichtsfensters automatisiert skalieren (hierzu siehe Dateien im Anhang). Dazu habe ich mir vorgestellt, dass sich diese Funktionalität über ein kleines AutoLISP Programm lösen lässt, weis aber nicht wie genau vorzugehen. Hätte jemand von euch einen guten Rat bzw. guten Vorschlag für mein Anliegen? Für eure Hilfe danke ich euch bereits im Voraus! Gruss Dusan Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 07. Jul. 2009 11:51 <-- editieren / zitieren --> Unities abgeben: Nur für dusan.markovic
Tja, da gibts viele Möglichkeiten : 1.)Ein Proggie wo du das Ansichtsfenster wählen mußt , der Maßstab ausgelesen wird und ein Block deiner Maßstabsleiste erzeugt und eingefügt oder , wenn vorhanden, modifiziert wird. 2.)Was zur Initialisierung wie 1. funktioniert , aber dann Maßstabsleiste und und Ansichtsfenster mit einem Reaktor verknüpft und sich bei Ansichtsfensteränderung , die Maßstabsleiste selbsttätig modifiziert. Für letzteres ist vielleicht das Besipiel aus \sample\Visuallisp\reactor\a-mtext.lsp recht hilfreich. Wo hakt es denn genau? ------------------ - Thomas - "Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben." Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
dusan.markovic Mitglied
Beiträge: 53 Registriert: 11.06.2009 Betriebssystem: MS Windows XP Professional - SP3 Prozessor: Intel Core 2 Duo 2.2GHz (Centrino) Arbeitsspeicher: 4GB Grafikkarte: Mobile Intel 965 Express - Shared Memory AutoCAD 2008 Version
|
erstellt am: 07. Jul. 2009 12:18 <-- editieren / zitieren --> Unities abgeben:
Hallo CADmium, Vielen Dank für die schnelle Antwort. Für mein Problem hören sich beide Möglichkeiten gut an, wobei die 2. Variante die bessere ist. Was ist denn genau ein Reaktor? Wäre denn die 1. Variante enfacher zu verstehen und zu handlen? Gruss Dusan Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADchup Ehrenmitglied V.I.P. h.c.
Beiträge: 3336 Registriert: 14.03.2001 Sicher ist, dass nichts sicher ist. Selbst das nicht. Joachim Ringelnatz
|
erstellt am: 07. Jul. 2009 12:48 <-- editieren / zitieren --> Unities abgeben: Nur für dusan.markovic
|
dusan.markovic Mitglied
Beiträge: 53 Registriert: 11.06.2009 Betriebssystem: MS Windows XP Professional - SP3 Prozessor: Intel Core 2 Duo 2.2GHz (Centrino) Arbeitsspeicher: 4GB Grafikkarte: Mobile Intel 965 Express - Shared Memory AutoCAD 2008 Version
|
erstellt am: 07. Jul. 2009 13:43 <-- editieren / zitieren --> Unities abgeben:
Hallo CADchup, ich habe mir mal das Buch "Kochbuch AutoLISP" von Axel Strube-Zettler zugelegt und die ersten Kapitel mit Übungsbeispielen durchgenommen. Dazu habe ich mir auch kleinere Programme zur Modifikation der Blöcke aus dem Internet angeschaut, ausprobiert und versucht diese nachzuvollziehen, wie z.B. in einem Block alle Layer auf "Von Layer" schalten. Mit dem Einfügen von Blöcken über AutoLISP habe ich mich nicht beschäftigt. Das Problem ist hier auch, dass wenn ich mir einige Beispielprogramme anschaue und diese verstehen möchte, keine genaue Erklärugn zu den einzelnen Funktionen finde. Das beschriebene Buch ist zwar gut, enthält aber nicht die explizite Erklärung gewisser Funktionen. Gibt es evtl. eine Seite im Internet, wo man die Funktionsbeschreibungen nachlesen kann? Gruss Dusan Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 07. Jul. 2009 13:54 <-- editieren / zitieren --> Unities abgeben: Nur für dusan.markovic
Zitat: Original erstellt von dusan.markovic: Gibt es evtl. eine Seite im Internet, wo man die Funktionsbeschreibungen nachlesen kann?Gruss Dusan
gib mal VLIDE in der Befehlszeile ein , und dann F1 ... Autolispreferenz ... auf Deutsch ist vielleicht auch noch die Handbuchvariante für R14 interessant.
------------------ - Thomas - "Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben." Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dorfy Mitglied Double-Dipl.-Ing. Bleistiftanspitzer
Beiträge: 900 Registriert: 21.07.2006 AutoCad2007, ProE, HiCad
|
erstellt am: 07. Jul. 2009 14:05 <-- editieren / zitieren --> Unities abgeben: Nur für dusan.markovic
|
dusan.markovic Mitglied
Beiträge: 53 Registriert: 11.06.2009 Betriebssystem: MS Windows XP Professional - SP3 Prozessor: Intel Core 2 Duo 2.2GHz (Centrino) Arbeitsspeicher: 4GB Grafikkarte: Mobile Intel 965 Express - Shared Memory AutoCAD 2008 Version
|
erstellt am: 08. Jul. 2009 17:29 <-- editieren / zitieren --> Unities abgeben:
Hallo CADmium, hättest du mir vielleicht ein Beispielprogramm zunächst für die 1.) Möglichkeit? Wenn Ja, benötigst du irgendwelche Zeichnungs-Dateien dazu? Das Problem ist, dass ich nicht weiss wie ich genau das Massstab des Ansichtsfensters auslesen kann per AutoLISP und wie ich es dann entsprechend meiner Massstabsleiste zuweisen kann. Hoffe Du kannst mir hierzu einen Rat geben. Danke und Gruss Dusan Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
dusan.markovic Mitglied
Beiträge: 53 Registriert: 11.06.2009 Betriebssystem: MS Windows XP Professional - SP3 Prozessor: Intel Core 2 Duo 2.2GHz (Centrino) Arbeitsspeicher: 4GB Grafikkarte: Mobile Intel 965 Express - Shared Memory AutoCAD 2008 Version
|
erstellt am: 13. Jul. 2009 10:42 <-- editieren / zitieren --> Unities abgeben:
Hallo an Alle, hätte mir jemand von euch ein passendes Beispielprogramm für mein beschriebenes Anliegen? Habe mal ein paar Sachen mit dynamischen Blöcken ausprobiert, kann aber diese leider nicht per Skript steuern. Gruss Dusan Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 13. Jul. 2009 12:02 <-- editieren / zitieren --> Unities abgeben: Nur für dusan.markovic
na ok , ganz rudimentär (defun c:SCALEBLOCK ( / VP SCALEFAKTOR INSERT) (if(and(setq VP(car(entsel "\nANsichstfenster picken:"))) (setq VP(vlax-ename->vla-object VP)) (=(strcase(vla-get-objectname VP))"ACDBVIEWPORT") (setq SCALEFAKTOR(vla-get-CustomScale VP)) (setq INSERT(car(entsel "\nSKALENBLOCKREFERENZ picken:"))) (setq INSERT(vlax-ename->vla-object INSERT)) (=(strcase(vla-get-objectname INSERT))"ACDBBLOCKREFERENCE") ) (progn (vla-put-XScaleFactor INSERT SCALEFAKTOR) (vla-put-YScaleFactor INSERT SCALEFAKTOR) (vla-put-ZScaleFactor INSERT SCALEFAKTOR) ) ) ) ------------------ - Thomas - "Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben." Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
dusan.markovic Mitglied
Beiträge: 53 Registriert: 11.06.2009 Betriebssystem: MS Windows XP Professional - SP3 Prozessor: Intel Core 2 Duo 2.2GHz (Centrino) Arbeitsspeicher: 4GB Grafikkarte: Mobile Intel 965 Express - Shared Memory AutoCAD 2008 Version
|
erstellt am: 14. Jul. 2009 10:58 <-- editieren / zitieren --> Unities abgeben:
Hallo CADmium, Vielen Dank für das Beispielprogramm! Habe mal versucht es auszuprobieren und bin gescheitert. Nach dem Ausführen der Funktion SCALEBLOCK bekomme ich folgende Meldung: Befehl: SCALEBLOCK ANsichstfenster picken:; Fehler: no function definition: VLAX-ENAME->VLA-OBJECT Befehl: Was mache ich falsh? Gruss Dusan Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dorfy Mitglied Double-Dipl.-Ing. Bleistiftanspitzer
Beiträge: 900 Registriert: 21.07.2006 AutoCad2007, ProE, HiCad
|
erstellt am: 14. Jul. 2009 11:06 <-- editieren / zitieren --> Unities abgeben: Nur für dusan.markovic
Hi, Zitat: Original erstellt von dusan.markovic: ...Was mache ich falsh?...
Einiges... beschäftige dich doch mal mit der o.g. Literatur/Quellen bau mal als Zeile zwei folgendes ein (vl-load-com)
mfg heiko Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
dusan.markovic Mitglied
Beiträge: 53 Registriert: 11.06.2009 Betriebssystem: MS Windows XP Professional - SP3 Prozessor: Intel Core 2 Duo 2.2GHz (Centrino) Arbeitsspeicher: 4GB Grafikkarte: Mobile Intel 965 Express - Shared Memory AutoCAD 2008 Version
|
erstellt am: 14. Jul. 2009 11:22 <-- editieren / zitieren --> Unities abgeben:
Hallo Heiko, Danke dir für deine Hilfe und entschuldige bitte meine blöden Fragen . Es ist nur so, dass ich ganz neu auf diesem Gebiet bin und mich nicht auskenne. Ich versuche diverse Basic-Beispiele zu verstehen und nachzuvollziehen und wenn dann noch etwas mit ActiveX kommt, fällt es mir recht schwer. Ich hoffe ich verärgere keinen hier im Forum mit meinen Fragen! Deinen Vorschlag habe ich probiert und bekomme jetzt nach der Auswahl des Ansichtsfensters nil zurück, wobei die Funktion danach abbricht. Danke und Gruss Dusan Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dorfy Mitglied Double-Dipl.-Ing. Bleistiftanspitzer
Beiträge: 900 Registriert: 21.07.2006 AutoCad2007, ProE, HiCad
|
erstellt am: 14. Jul. 2009 11:39 <-- editieren / zitieren --> Unities abgeben: Nur für dusan.markovic
hi, es gibt keine blöden Fragen nur... Aber ein wenig lesen schadet nicht... Und "nerven" ... NEIN, jeder hat mal klein angefangen. Bei mir funktioniert es ... Mit welcher Version arbeitest Du? (bzw Systeminformationen ausfüllen) mfg heiko Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
dusan.markovic Mitglied
Beiträge: 53 Registriert: 11.06.2009 Betriebssystem: MS Windows XP Professional - SP3 Prozessor: Intel Core 2 Duo 2.2GHz (Centrino) Arbeitsspeicher: 4GB Grafikkarte: Mobile Intel 965 Express - Shared Memory AutoCAD 2008 Version
|
erstellt am: 14. Jul. 2009 11:59 <-- editieren / zitieren --> Unities abgeben:
Hallo Heiko, Danke dir für dein Verständnis! Ich bin auch kräftig am Lesen und zwar beschäftige ich mich mit dem Kochbuch AutoLISP, was sehr gut gemacht ist für Einsteiger. Erhoffe mir dadurch einen breiteren Durchblick durch das Ganze zu haben. Ich arbeite mit der AutoCAD 2008 Version auf einem Windows XP Pro Rechner mit 4GB RAM und 2.2GHz Core 2 Duo Prozessor. Der einzige Nachteil ist, dass ich mit einer Shared Memory Grafikkarte arbeite. Ich hoffe das Problem liegt nicht daran. Gruss Dusan Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dorfy Mitglied Double-Dipl.-Ing. Bleistiftanspitzer
Beiträge: 900 Registriert: 21.07.2006 AutoCad2007, ProE, HiCad
|
erstellt am: 14. Jul. 2009 12:17 <-- editieren / zitieren --> Unities abgeben: Nur für dusan.markovic
Hi Dusan, wenn du Zeilen von CADmium so übernommen hast und (vl-load-com) eingebaut hast, sollten sie auch laufen. Vllt. hilft ein erneuter Start von Acad oder du gehst die Zeilen einzeln an der Eingabe durch bzw. schaust Dir in der Überwachungsfunktion der VLIDE die einzelnen Werte an und suchst den "Fehler". (vlide siehe Anleitung J.Bosse, oben verlinkt) mfg heiko P.S.: die Sysinfo kannst du über "Profil bearbeiten" (siehe oben auf der Seite) links zu deinen Profil hinzufügen Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |