Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Rund um AutoCAD
  alle Ansichtsfenster einer Zeichnung sperren / entsperren

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
Autor Thema:  alle Ansichtsfenster einer Zeichnung sperren / entsperren (12488 mal gelesen)
CADJojo
Mitglied
Techn.Zeichner/Konstrukteur im Ladenbau


Sehen Sie sich das Profil von CADJojo an!   Senden Sie eine Private Message an CADJojo  Schreiben Sie einen Gästebucheintrag für CADJojo

Beiträge: 604
Registriert: 16.04.2010

Inventor 2022 / Windows 10 Pro
Intel Xeon CPU E5-1620 v4 3,5 GHz / 32 GB RAM

erstellt am: 28. Nov. 2011 15:52    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo.

Ich suche nach einer Lösung, die mir als Lisp oder Makro alle Ansichtsfenster einer Zeichnung sperrt bzw. entsperrt (ohne dass ich etwas markieren muss)...

Im Forum habe ich nur ältere Beiträge (2004 o.ä.) gefunden, deren Lösungen für mich nicht funktionier(t)en, z.B. http://ww3.cad.de/foren/ubb/Forum54/HTML/005159.shtml#000012 http://ww3.cad.de/foren/ubb/Forum54/HTML/008478.shtml#000002

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

CADchup
Ehrenmitglied V.I.P. h.c.




Sehen Sie sich das Profil von CADchup an!   Senden Sie eine Private Message an CADchup  Schreiben Sie einen Gästebucheintrag für CADchup

Beiträge: 3329
Registriert: 14.03.2001

Sicher ist, dass nichts sicher ist. Selbst das nicht.
Joachim Ringelnatz

erstellt am: 28. Nov. 2011 16:00    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für CADJojo 10 Unities + Antwort hilfreich

Hi,

hast du die erste verlinkte Buttonmakro-Lösung mal direkt an der Befehlszeile durchgespielt? Sie funktioniert, wenn du eine verwendete Befehlsoption änderst.


Gruß
CADchup

------------------
CADmaro.de

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

CADJojo
Mitglied
Techn.Zeichner/Konstrukteur im Ladenbau


Sehen Sie sich das Profil von CADJojo an!   Senden Sie eine Private Message an CADJojo  Schreiben Sie einen Gästebucheintrag für CADJojo

Beiträge: 604
Registriert: 16.04.2010

Inventor 2022 / Windows 10 Pro
Intel Xeon CPU E5-1620 v4 3,5 GHz / 32 GB RAM

erstellt am: 28. Nov. 2011 16:08    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Ja, soweit war ich schon, aber dann werden bei mir nur die Fenster im aktuellen Bereich (also im aktuellen Layout) gesperrt:

"
Befehl: ma
MANSFEN
Ecke des Ansichtsfensters angeben oder
[Ein/Aus/Zbereich/SChattplot/speRren/Objekt/Polygonal/Holen/Layer/2/3/4]
<Zbereich>: r
Sperrung der Ansicht im Ansichtsfenster [Ein/Aus]:e
Objekte wählen: alle
42 gefunden
22 waren keine Ansichtsfenster.
17 befanden sich nicht im aktuellen Bereich.
1 war das Papierbereich-Ansichtsfenster.
Objekte wählen:
"

Ich würd´s aber gerne für ALLE Layouts der Zeichnung haben...

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

j-sc
Ehrenmitglied



Sehen Sie sich das Profil von j-sc an!   Senden Sie eine Private Message an j-sc  Schreiben Sie einen Gästebucheintrag für j-sc

Beiträge: 1837
Registriert: 14.07.2003

W7 64Bit
intel core I7 2,8GHz / 4GB
ATI FIRE PRO V5800
acad2011
acad2015
acad2018
Athena
Expresstools

erstellt am: 28. Nov. 2011 16:14    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für CADJojo 10 Unities + Antwort hilfreich

High,
ich hab da 2 Schnipsel

(command "_MVIEW" "_L" "_ON" (ssget "X" '((0 . "VIEWPORT"))) "")

(command "_MVIEW" "_L" "_OFF" (ssget "X" '((0 . "VIEWPORT"))) "")

------------------
Ciao
J-SC
  ... geht's vielleicht doch?

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

cadffm
Moderator
良い精神




Sehen Sie sich das Profil von cadffm an!   Senden Sie eine Private Message an cadffm  Schreiben Sie einen Gästebucheintrag für cadffm

Beiträge: 21533
Registriert: 03.06.2002

System: F1
und Google

erstellt am: 28. Nov. 2011 16:16    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für CADJojo 10 Unities + Antwort hilfreich

Objekte über den aktuellen Bereich hinaus kann man nur über das Eigenschaftenfenster oder
via Programmierung ändern. Ich denke zu wissen das es im Forum ein Lisp gibt welches alle Fenster sperrt (evtl. auch entsperrt).

Über Googlebin ich schnell zur inoffiziellen AutoCAD-Hilfeseite gekommen, das könnte dir schon helfen oder ? KLICK!

------------------
CAD.de System-Angaben  -  CAD on demand  -  User:FAQ(Acad)

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

cad4fun
Ehrenmitglied



Sehen Sie sich das Profil von cad4fun an!   Senden Sie eine Private Message an cad4fun  Schreiben Sie einen Gästebucheintrag für cad4fun

Beiträge: 1846
Registriert: 06.12.2004

privat ACAD 2013 und 2017 deutsch, Windows 7 64Bit
HP Elite 7500 Series MT,Intel Cote i5-3470 CPU 3,20Ghz,16GB RAM
ATI FirePro V (FireGL V) Graphics Adapter
Treiberversion: 15.201.1151.1008

erstellt am: 28. Nov. 2011 16:20    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für CADJojo 10 Unities + Antwort hilfreich

;; Sperrt ALLE Ansichtsfenster auf ALLEN Layouts
(defun c:AFS( / BLOCK )
  (vl-load-com)  
  (vlax-for LAYOUT (vla-get-layouts(vla-get-activedocument(vlax-get-acad-object)))  
    (vlax-for ITEM (setq BLOCK (vla-get-Block LAYOUT))
      (if(=(strcase(vla-get-objectname  ITEM))"ACDBVIEWPORT")
        (vl-catch-all-error-p
          (vl-catch-all-apply                
            'vla-put-DisplayLocked
              (list ITEM :vlax-true)
          )
        )        
      )
    )
  )                                          
  (vla-regen(vla-get-activedocument (vlax-get-acad-object)) acAllViewports)
)
EDIT
siehe auch http://forums.augi.com/archive/index.php/t-27352.html
oder http://autocad.cad.de/modules.php?name=News&file=print&sid=18

[Diese Nachricht wurde von cad4fun am 28. Nov. 2011 editiert.]

[Diese Nachricht wurde von cad4fun am 28. Nov. 2011 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

CADJojo
Mitglied
Techn.Zeichner/Konstrukteur im Ladenbau


Sehen Sie sich das Profil von CADJojo an!   Senden Sie eine Private Message an CADJojo  Schreiben Sie einen Gästebucheintrag für CADJojo

Beiträge: 604
Registriert: 16.04.2010

Inventor 2022 / Windows 10 Pro
Intel Xeon CPU E5-1620 v4 3,5 GHz / 32 GB RAM

erstellt am: 28. Nov. 2011 16:26    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Super, das Sperren hat schon mal geklappt.
Dann werd ich mal versuchen, das auf´s Entsperren umzuschreiben...

Bei der Suche im Forum oder bei Google scheine ich immer die falschen Suchwörter zu nehmen. Oder mir fehlt die Geduld, um bei den Suchergebnissen auch auf den zweistelligen Seiten noch zu lesen...

Besten Dank.

[Diese Nachricht wurde von CADJojo am 28. Nov. 2011 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

CAD-Huebner
Ehrenmitglied V.I.P. h.c.
Verm.- Ing., ATC-Trainer



Sehen Sie sich das Profil von CAD-Huebner an!   Senden Sie eine Private Message an CAD-Huebner  Schreiben Sie einen Gästebucheintrag für CAD-Huebner

Beiträge: 9732
Registriert: 01.12.2003

AutoCAD 2.5 - 2022, Civil 3D, MAP 3D, ACADM
Inventor AutoCAD 2022, AIP 4-2022
Win 10

erstellt am: 28. Nov. 2011 16:34    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für CADJojo 10 Unities + Antwort hilfreich

Ich würde da mal :vlax-true gegen :vlax-false tauschen   .

------------------
Mit freundlichem Gruß

Udo Hübner
www.CAD-Huebner.de

[Diese Nachricht wurde von CAD-Huebner am 28. Nov. 2011 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

CADmium
Moderator
Maschinenbaukonstrukteur




Sehen Sie sich das Profil von CADmium an!   Senden Sie eine Private Message an CADmium  Schreiben Sie einen Gästebucheintrag für CADmium

Beiträge: 13508
Registriert: 30.11.2003

Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.

erstellt am: 28. Nov. 2011 16:39    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für CADJojo 10 Unities + Antwort hilfreich

CADJojo
Mitglied
Techn.Zeichner/Konstrukteur im Ladenbau


Sehen Sie sich das Profil von CADJojo an!   Senden Sie eine Private Message an CADJojo  Schreiben Sie einen Gästebucheintrag für CADJojo

Beiträge: 604
Registriert: 16.04.2010

Inventor 2022 / Windows 10 Pro
Intel Xeon CPU E5-1620 v4 3,5 GHz / 32 GB RAM

erstellt am: 28. Nov. 2011 16:47    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Ähem. Uups. Wie ist das nur möglich? 

Kann es sein, dass je nach Tageszeit die Suchergebnisse anders sortiert werden ??? 

Und ich hatte zusätzlich die Worte "alle" und "sperren" im Suchfenster, das hat´s evtl. etwas mehr begrenzt.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

cad4fun
Ehrenmitglied



Sehen Sie sich das Profil von cad4fun an!   Senden Sie eine Private Message an cad4fun  Schreiben Sie einen Gästebucheintrag für cad4fun

Beiträge: 1846
Registriert: 06.12.2004

privat ACAD 2013 und 2017 deutsch, Windows 7 64Bit
HP Elite 7500 Series MT,Intel Cote i5-3470 CPU 3,20Ghz,16GB RAM
ATI FirePro V (FireGL V) Graphics Adapter
Treiberversion: 15.201.1151.1008

erstellt am: 28. Nov. 2011 17:09    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für CADJojo 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von CADmium:
@cad4fun  :
http://ww3.cad.de/foren/ubb/Forum145/HTML/000854.shtml

 


Mit der Angabe von http://autocad.cad.de/modules.php?name=News&file=print&sid=18  habe ich doch hoffentlich meiner Pflicht nach Info über den Autor zumindest halbwegs erfüllt.Ich wollte mich nicht mit fremden Federn schmücken, nur rasch helfen.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

CADmium
Moderator
Maschinenbaukonstrukteur




Sehen Sie sich das Profil von CADmium an!   Senden Sie eine Private Message an CADmium  Schreiben Sie einen Gästebucheintrag für CADmium

Beiträge: 13508
Registriert: 30.11.2003

Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.

erstellt am: 28. Nov. 2011 17:28    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für CADJojo 10 Unities + Antwort hilfreich

sammo
Mitglied
Techn. Zeichner

Sehen Sie sich das Profil von sammo an!   Senden Sie eine Private Message an sammo  Schreiben Sie einen Gästebucheintrag für sammo

Beiträge: 9
Registriert: 21.12.2012

xmg a102

erstellt am: 11. Sep. 2013 15:27    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für CADJojo 10 Unities + Antwort hilfreich

Hallo,

ich benutze Autocad 2012.

ich habe folgendes in eine Textdatei geschrieben und sie in lsp umbenannt:

;; Sperrt ALLE Ansichtsfenster auf ALLEN Layouts
(defun c:AFS( / BLOCK )
  (vl-load-com)  
  (vlax-for LAYOUT (vla-get-layouts(vla-get-activedocument(vlax-get-acad-object)))  
    (vlax-for ITEM (setq BLOCK (vla-get-Block LAYOUT))
      (if(=(strcase(vla-get-objectname  ITEM))"ACDBVIEWPORT")
        (vl-catch-all-error-p
          (vl-catch-all-apply                
            'vla-put-DisplayLocked
              (list ITEM :vlax-true)
          )
        )        
      )
    )
  )                                          
  (vla-regen(vla-get-activedocument (vlax-get-acad-object)) acAllViewports)
)
EDIT

Dann bin ich in Autocad auf "Extras" --> "Anwendungen" gegangen und habe die lsp Datei geladen. Doch passiert ist gar nichts.

Was habe ich falsch gemacht?

------------------
http://www.silat-sigepi.de

[Diese Nachricht wurde von sammo am 11. Sep. 2013 editiert.]

[Diese Nachricht wurde von sammo am 11. Sep. 2013 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Bernd P
Ehrenmitglied V.I.P. h.c.
cook-general



Sehen Sie sich das Profil von Bernd P an!   Senden Sie eine Private Message an Bernd P  Schreiben Sie einen Gästebucheintrag für Bernd P

Beiträge: 3358
Registriert: 07.06.2001

W10-64bit, AMD Ryzen 7 3700X,32GB RAM, Sapphire Pulse Radeon RX 570 8G G5, Canon TX-3000 MFP, Maus Cherry MW4500, Sub:Infrastructure Design Suite, Office 365

erstellt am: 11. Sep. 2013 15:37    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für CADJojo 10 Unities + Antwort hilfreich

Servus, du must das LSP noch starten in dem Fall mit AFS. defun c: zeigt den aufruf an

------------------
<----- Bitte Systeminfo eintragen, warum siehst du hier. "Warum Einfach es geht auch kompliziert". Schöne Grüsse aus der Steiermark  Bernd P. Sport ist Mord
Rekorde: Scalelist>11727, Fehler>34365, Layerfilter>XXXX

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

sammo
Mitglied
Techn. Zeichner

Sehen Sie sich das Profil von sammo an!   Senden Sie eine Private Message an sammo  Schreiben Sie einen Gästebucheintrag für sammo

Beiträge: 9
Registriert: 21.12.2012

xmg a102

erstellt am: 12. Sep. 2013 09:59    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für CADJojo 10 Unities + Antwort hilfreich

Danke, hat nun geklappt.

------------------
[URL=http://www.silat-sigepi.de[/URL]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Mann
Mitglied
Graphische Dienstleistungen


Sehen Sie sich das Profil von Mann an!   Senden Sie eine Private Message an Mann  Schreiben Sie einen Gästebucheintrag für Mann

Beiträge: 64
Registriert: 16.05.2014

AutoCAD 2010 & LT 2015
Nemetschek Allplan 2008
C4D 10.5
Adobe CC

erstellt am: 16. Mrz. 2016 02:18    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für CADJojo 10 Unities + Antwort hilfreich

1. Meeegageil, genau das brauche ich grad.
2. Danke für die Hilfe bis hier

Kann mir mal jemand vielleicht sogar noch kurz sagen, was hier bei mir passiert? Ich krieg nach meiner Bastelaktion zwar erstmal das Ergebnis, das ich will, aber immer noch massig Fehlermeldungen!


Was ich gemacht hab: Laut Anleitung in dem oben verlinkten Thread habe ich, nachdem bei mir natürlich keine Ansichtsfenster gesperrt wruden, irgendwie versucht, den dort von CADchup geposteten "Command" (wtf?) in das Geschehen einzubasteln. "weil Viewports nicht "entmodet" werden können"... Ich hab aber ja keine Ahnung. Da ACAD beim obenstehenden LISP irgendeinen Fehler ausspuckte, habe ich den in der Fehlermeldung auftauchenden String einfach im LISP gesucht und dann mit dem "if-Code" von CADchup ersetzt. Mein Ergebnis sah dann so aus:

Code:
;; Sperrt ALLE Ansichtsfenster auf ALLEN Layouts
(defun c:AFS( / BLOCK )
  (vl-load-com) 
  (if (and (setq ss (ssget "x" '((0 . "VIEWPORT"))))
(> (sslength ss) 1)
    )
  (foreach i (layoutlist)
        (setvar "CTAB" i)
    (command "_.mview" "_Lock" "_On" ss "")
  )
)
      (if(=(strcase(vla-get-objectname  ITEM))"ACDBVIEWPORT")
        (vl-catch-all-error-p
          (vl-catch-all-apply               
            'vla-put-DisplayLocked
              (list ITEM :vlax-true)
          )
        )       
      )
    )
  )                                         
  (vla-regen(vla-get-activedocument (vlax-get-acad-object)) acAllViewports)
)


Darauf wurden alle Ansichtsfenster gesperrt (GEIL!)
Allerdings folgte das Resultat (Ausgabe ACAD):


Code:
Befehl: afs
_.mview
Ecke des Ansichtsfensters angeben oder
[Ein/Aus/Zbereich/SChattplot/speRren/Objekt/Polygonal/Holen/Layer/2/3/4]
<Zbereich>: _Lock Sperrung der Ansicht im Ansichtsfenster [Ein/Aus]:_On
Objekte wählen:  2 gefunden
1 war das Papierbereich-Ansichtsfenster.

Objekte wählen:
Befehl: ; Fehler: no function definition: VLA-GET-OBJECTNAME



Zudem kann ich mit meinem coolen AFES-Lisp nun auch alle Ansichtsfenster wieder entsperren:

Code:
;; Entsperrt ALLE Ansichtsfenster auf ALLEN Layouts
(defun c:AFES( / BLOCK )
  (vl-load-com) 
  (if (and (setq ss (ssget "x" '((0 . "VIEWPORT"))))
(> (sslength ss) 1)
    )
  (foreach i (layoutlist)
        (setvar "CTAB" i)
    (command "_.mview" "_Lock" "_Off" ss "")
  )
)
      (if(=(strcase(vla-get-objectname  ITEM))"ACDBVIEWPORT")
        (vl-catch-all-error-p
          (vl-catch-all-apply               
            'vla-put-DisplayLocked
              (list ITEM :vlax-false)
          )
        )       
      )
    )
  )                                         
  (vla-regen(vla-get-activedocument (vlax-get-acad-object)) acAllViewports)
)

Passieren tut erstmal also das, was ich will. Kein Gehupe, alles automatisch. Aber derbe Fehlermeldungen:

Code:
Befehl: afes
_.mview
Ecke des Ansichtsfensters angeben oder
[Ein/Aus/Zbereich/SChattplot/speRren/Objekt/Polygonal/Holen/Layer/2/3/4]
<Zbereich>: _Lock Sperrung der Ansicht im Ansichtsfenster [Ein/Aus]:_Off
Objekte wählen:  2 gefunden
1 war das Papierbereich-Ansichtsfenster.

Objekte wählen:
Befehl: ; Fehler: no function definition: VLA-GET-OBJECTNAME


Was passiert da? Was kann ich optimieren?

------------------
Ein Gott ist der Mensch, wenn er träumt, ein Bettler, wenn er nachdenkt. (aus Hölderlins Hyperion)

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

cadffm
Moderator
良い精神




Sehen Sie sich das Profil von cadffm an!   Senden Sie eine Private Message an cadffm  Schreiben Sie einen Gästebucheintrag für cadffm

Beiträge: 21533
Registriert: 03.06.2002

System: F1
und Google

erstellt am: 16. Mrz. 2016 07:32    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für CADJojo 10 Unities + Antwort hilfreich

Du hast den erweiterten Funktionssatz nicht geladen,
dies laden viele automatisch mit einem Eintrag in die Acad.lsp,
aber es ist natürlich auch im Code passend untergebracht:

(vl-load-com)

Dieser Eintrag fehlt(e), schreibe es an den Anfang der Lispdatei, fertig.

Wenn du (vl-load-com) drin stehen hast, so liegt es an deinem System,
nicht am Code. Dazu findet man bereits Posts dazu.
Fehlermeldung=Suchbegriff für das Forum145

Schon mal mit frischen Acad-Profil gestartet?

------------------
CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Mann
Mitglied
Graphische Dienstleistungen


Sehen Sie sich das Profil von Mann an!   Senden Sie eine Private Message an Mann  Schreiben Sie einen Gästebucheintrag für Mann

Beiträge: 64
Registriert: 16.05.2014

AutoCAD 2010 & LT 2015
Nemetschek Allplan 2008
C4D 10.5
Adobe CC

erstellt am: 16. Mrz. 2016 09:00    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für CADJojo 10 Unities + Antwort hilfreich

Mit neuem Profil starten?
Was die Fehlersuche angeht, stehe ich nicht minder auf dem Schlauch. Was genau soll ich machen? 
bei den Ergebnissen sehe ich den Zusammenhang nicht...

------------------
Ein Gott ist der Mensch, wenn er träumt, ein Bettler, wenn er nachdenkt. (aus Hölderlins Hyperion)

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

CADchup
Ehrenmitglied V.I.P. h.c.




Sehen Sie sich das Profil von CADchup an!   Senden Sie eine Private Message an CADchup  Schreiben Sie einen Gästebucheintrag für CADchup

Beiträge: 3329
Registriert: 14.03.2001

Sicher ist, dass nichts sicher ist. Selbst das nicht.
Joachim Ringelnatz

erstellt am: 16. Mrz. 2016 09:12    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für CADJojo 10 Unities + Antwort hilfreich

Hi,

wenn CADmiums Code bei dir nicht funktioniert, stimmt etwas nicht mit deiner Installation oder dem Profil, da gebe ich cadffm Recht. Recherchier' das mal! Habe leider keinen passenden Link zur Hand.

Dein zusammenkopierter Code fehlert wegen siehe oben und würde - auch wenn er VLA-GET-OBJECTNAME kennen würde - vor die Wand laufen, weil er das Objekt ITEM verarbeiten soll, das er gar nicht kennen kann. Entweder du suchst den Fehler, warum keine VLA-Funktionen (resp. ActiveX) laufen oder arbeitest komplett ohne VLA.

Der Code, den ich damals gepostet hatte, war eigentlich als Lösung für LT-Extender-User gedacht, denen dieser VLA-Funktionssatz nicht zur Verfügung stand. Funktioniert prinzipiell aber auch in regulärem AutoCAD.
Zu einer Funktion zusammengeklöppelt und vervollständigt würde dein AFS dann so aussehen:

Code:
(defun c:AFS (/ ss)
  (if
    (setq ss
          (ssget "_X"
                  '((0 . "VIEWPORT")
                    (-4 . "<NOT")
                    (69 . 1)
                    (-4 . "NOT>")
                  )
          )
    )
    (foreach i (layoutlist)
      (setvar "CTAB" i)
      (command "_.mview" "_Lock" "_On" ss "")
    )
  )
)

Gruß
CADchup

------------------
CADmaro.de

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

cadffm
Moderator
良い精神




Sehen Sie sich das Profil von cadffm an!   Senden Sie eine Private Message an cadffm  Schreiben Sie einen Gästebucheintrag für cadffm

Beiträge: 21533
Registriert: 03.06.2002

System: F1
und Google

erstellt am: 16. Mrz. 2016 09:22    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für CADJojo 10 Unities + Antwort hilfreich

So, nun sitze ich am Rechner und kann ggf. besser helfen.

Als erstes sollte wir bis 10 zählen lernen:
;; Sperrt ALLE Ansichtsfenster auf ALLEN Layouts
Start 0-Klammern-offen
(1defun c:AFS(2 / BLOCK )1
  (2vl-load-com)1
  (2if (3and (4setq ss (5ssget "x" '(6(70 . "VIEWPORT")6)5)4)3
(4> (5sslength ss)4 1)3
    )2
  (3foreach i (4layoutlist)3
        (4setvar "CTAB" i)3
    (4command "_.mview" "_Lock" "_On" ss "")3
  )2
)1
      (2if(3=(4strcase(5vla-get-objectname  ITEM)4)3"ACDBVIEWPORT")2
        (3vl-catch-all-error-p
          (4vl-catch-all-apply              
            'vla-put-DisplayLocked
              (5list ITEM :vlax-true)4
          )3
        )2      
      )1
    )0-Klammern-offen
  )-1                                        
  (0vla-regen(1vla-get-activedocument (2vlax-get-acad-object)1)0 acAllViewports)-1
)-2
Ende - Es wurden 2 Klammern geschlossen welche nicht geöffnet wurde??

Aber interessant wäre die Frage warum du überhaupt an den Codes gebastelt hast (abgesehen von der zweiten Variante "Entsperren"?

Jetzt hast du zwei Codes, welche für das gleiche bestimmt waren, versucht zusammenzuschreiben.
Würde der Code für das Tür zu knallen da sein, so würdest du nun jede Tür zweimal zuhauen?

Der Link von oben: http://ww3.cad.de/foren/ubb/Forum145/HTML/000854.shtml

Nimm von dort den Code, befasse dich damit - Kaffee in die Hand, dann klappt das auch.
(defun c:FUNKTIONSNAME ~ mit vorangestelltem "c:" ist diese als AutoCAD-Befehl aufrufbar

Und nun kommt es drauf an welchen der beiden Codes du nimmst, bei dem einen mußt du für das entsperren
:vlax-false anstantt  'vla-put-DisplayLocked (list ITEM :vlax-true) eingeben.
Und der andere Code bedient ja nur die Befehlszeile, das kannst du dir also einfach selbst erarbeiten was Acad wann für eine Eingabe haben möchte,
einfach _.mview eingeben und der Befehlszeile und Hilfe folgen.
(Wobei du in diesem Fall besser das von CADmium nehmen solltest)

------------------
CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

spider_dd
Mitglied



Sehen Sie sich das Profil von spider_dd an!   Senden Sie eine Private Message an spider_dd  Schreiben Sie einen Gästebucheintrag für spider_dd

Beiträge: 1111
Registriert: 27.11.2003

Win 10Pro
Intel(R) Core(TM) i7-7700
NVIDIA Quadro P1000
ACAD, Civil-3D 2018

erstellt am: 16. Mrz. 2016 09:31    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für CADJojo 10 Unities + Antwort hilfreich

Hallo Mann,

irgendwie hast Du "wild irgendwelchen Code zusammenkopiert"  

Probier mal folgendes

Code:

(defun c:AFES( /  )
  (vl-load-com)
  (if (and (setq ss (ssget "x" '((0 . "VIEWPORT"))))
(> (sslength ss) 1)
    )
  (foreach i (layoutlist)
        (setvar "CTAB" i)
    (command "_.mview" "_Lock" "_Off" ss "")
  )
)
)


(defun c:AFS( /  )
  (if (and (setq ss (ssget "x" '((0 . "VIEWPORT"))))
(> (sslength ss) 1)
    )
  (foreach i (layoutlist)
        (setvar "CTAB" i)
    (command "_.mview" "_Lock" "_On" ss "")
  )
)
)


HTH
Gruß
Thomas

[edit] Zu spät, man sollte halt nicht telefonieren, wenn man beim Antworten ist    [/edit]

[Diese Nachricht wurde von spider_dd am 16. Mrz. 2016 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz