Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Blockeinheit umstellen - keine > Millimeter

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:  Blockeinheit umstellen - keine > Millimeter (2005 mal gelesen)
MB-fab
Mitglied
Techniker - Elektrotechnik


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

Beiträge: 34
Registriert: 18.10.2016

Autocad 2016, MEP 2016, PIT 2016, MS V8i

erstellt am: 19. Dez. 2018 10: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

Liebe Community,

ich habe folgendes Problem.

In meiner Bibliothek sind alle Blöcke für Millimeter erstellt und bei den meisten Blöcken wurde im Blockeditor auch die Blockeinheit ordentlich angegeben. Jetzt kommt das Problem, dass in manchen die Blockeinheit noch auf 'keine' steht und ich möchte gerne diese auf Millimeter umstellen.

Hier würde ich euch gerne Frage, ob es nicht eine VLX gibt die das Problem löst, ohne jeden Block von Hand zu Fuß zu öffnen und die Einheit zu definieren.

Bei meiner Recherche im Forum bin ich zwar auf Code-Schnipsel gestoßen, aber leider reich mein Wissen nicht aus um diese zu verwenden.

------------------------------------------
(vl-load-com)
(vlax-for x
(vla-get-Blocks
(vla-get-activedocument
(vlax-get-acad-object)))
(vlax-put-property 4 "Units" 0))
------------------------------------------

Vielleicht kann mir einer weiterhelfen!?

Viele Grüße

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

CADwiesel
Moderator
CAD4FM UG




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

Beiträge: 1968
Registriert: 05.09.2000

AutoCAD, Bricscad
Wir machen das Mögliche unmöglich

erstellt am: 19. Dez. 2018 11: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 MB-fab 10 Unities + Antwort hilfreich

Könnte man so machen...

Code:
(vl-load-com)
(vlax-for x(vla-get-Blocks(vla-get-activedocument(vlax-get-acad-object)))
  (if(and
      (= (vla-get-islayout x) :vlax-false)
      (= (vla-get-isxref X) :vlax-false)
      (>(vla-get-count x)0)
      (vlax-property-available-p x 'UNITS)
      )
(not(vl-catch-all-error-p
          (vl-catch-all-apply 'vlax-put-property (list x 'UNITS 0))))
    )
  )

------------------
Gruß
CADwiesel
Besucht uns im CHAT

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

MB-fab
Mitglied
Techniker - Elektrotechnik


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

Beiträge: 34
Registriert: 18.10.2016

Autocad 2016, MEP 2016, PIT 2016, MS V8i

erstellt am: 19. Dez. 2018 11:50    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 CADwiesel,

muss ich im Code die 'x' ersetzen durch die ausgangs Einheit?

Code:

(vl-load-com)
(vlax-for 0(vla-get-Blocks(vla-get-activedocument(vlax-get-acad-object)))
  (if(and
      (= (vla-get-islayout 0) :vlax-false)
      (= (vla-get-isxref 0) :vlax-false)
      (>(vla-get-count 0)0)
      (vlax-property-available-p x 'UNITS)
      )
(not(vl-catch-all-error-p
          (vl-catch-all-apply 'vlax-put-property (list  0 'UNITS 4))))
    )
  )

Im Moment wir nichts umgestellt.

Gruß

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

CADwiesel
Moderator
CAD4FM UG




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

Beiträge: 1968
Registriert: 05.09.2000

AutoCAD, Bricscad
Wir machen das Mögliche unmöglich

erstellt am: 19. Dez. 2018 14: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 MB-fab 10 Unities + Antwort hilfreich

nein

------------------
Gruß
CADwiesel
Besucht uns im CHAT

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

MB-fab
Mitglied
Techniker - Elektrotechnik


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

Beiträge: 34
Registriert: 18.10.2016

Autocad 2016, MEP 2016, PIT 2016, MS V8i

erstellt am: 19. Dez. 2018 14:40    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

schade.. dann mach ich irgendwas falsch.
Nach dem laden kommt auch die Rückmeldung 'nil'

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

CADwiesel
Moderator
CAD4FM UG




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

Beiträge: 1968
Registriert: 05.09.2000

AutoCAD, Bricscad
Wir machen das Mögliche unmöglich

erstellt am: 19. Dez. 2018 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 MB-fab 10 Unities + Antwort hilfreich

also...
der codeschnipsel geht durch alle Blockdefinitionen, die in einer Zeichnung enthalten sind und ändert deren Einheiten.
Wenn du nun ein Verzeichnis mit vielen Zeichnungen hast, die je einen Block darstellen, musst du ein anderes Verfahren wählen.
Dann muss jede Zeichnung geöffnet und die Systemvariablen für INSUNITS, INSUNITSDEFSOURCE uns INSUNITSDEFTARGET entsprechend eingestellt  werden .
Dies geht am Besten mit einem script, welches du über die Zeichnunen laufen lasst.
Scriptgenerator (SCC2) findest du auf meiner Webseite

------------------
Gruß
CADwiesel
Besucht uns im CHAT

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

MB-fab
Mitglied
Techniker - Elektrotechnik


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

Beiträge: 34
Registriert: 18.10.2016

Autocad 2016, MEP 2016, PIT 2016, MS V8i

erstellt am: 19. Dez. 2018 18:01    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

Für mich wäre vollkommen OK wenn ich es pro Zeichnung muss.
Aber mein 'Problem' mit dem Codeschnipsel ist, dass es nicht die Blockdefinition ändert.
Die Blockeinheit ist nach dem ausführen der vlx noch auf 'keine Einheit' gestellt.

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

Entsorger01
Ehrenmitglied V.I.P. h.c.
Techniker



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

Beiträge: 3263
Registriert: 07.07.2006

ACAD 2006
ACAD 2008 - SP1
VPstudio (Raster)
Acrobat 7.0 Prof.
Acrobat Distiller
Photoshop CS2
Nvidia Quadro FX1400
Win 2000 Prof.

erstellt am: 20. Dez. 2018 06:43    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 MB-fab 10 Unities + Antwort hilfreich

Ich denke, dass es sich hier um ein Mißverständnis handelt. Der Code vom Wiesel ändert schon die Blockeinheit(en). Allerdings nicht auf Wert 4 für Millimeter (wie gewünscht), sondern alle, egal welche Ausgangswerte die Blockeinheiten haben, auf Wert 0 für keine Einheit. Da muss er    wohl nochmal nachbessern 

------------------
Gruß

Michi

""Mögen hätt ich schon wollen, aber dürfen hab ich mich nicht getraut."
Karl Valentin

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

CADwiesel
Moderator
CAD4FM UG




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

Beiträge: 1968
Registriert: 05.09.2000

AutoCAD, Bricscad
Wir machen das Mögliche unmöglich

erstellt am: 20. Dez. 2018 09:10    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 MB-fab 10 Unities + Antwort hilfreich

ja, sorry, hab es gelesen aber nur mit den Augen   sollte ja alles im mm und nicht auf keine

änder die Stelle

Code:
(list x 'UNITS 0)
ab in diese:
Code:
(list x 'UNITS 4)

Andere Werte siehe Hilfe zu: INSUNITS

------------------
Gruß
CADwiesel
Besucht uns im CHAT

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

MB-fab
Mitglied
Techniker - Elektrotechnik


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

Beiträge: 34
Registriert: 18.10.2016

Autocad 2016, MEP 2016, PIT 2016, MS V8i

erstellt am: 20. Dez. 2018 13: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

Ach ja, ihr seit die Besten! Gut hätte ich auch mal sehen können. Klar das man irgendwo die Weisung geben muss welche Einheit denn eingestellt werden muss.

Hatte noch das Problem, dass ich den Code in eine VLX-Datei gesteckt habe!! Nicht richtig LSP-Datei!!

Für die, die nur das Ende lesen! 

BlockUnits_Millimeter.lsp

Code:

(vl-load-com)
(vlax-for x(vla-get-Blocks(vla-get-activedocument(vlax-get-acad-object)))
  (if(and
      (= (vla-get-islayout x) :vlax-false)
      (= (vla-get-isxref x) :vlax-false)
      (>(vla-get-count x)0)
      (vlax-property-available-p x 'UNITS)
      )
(not(vl-catch-all-error-p
          (vl-catch-all-apply 'vlax-put-property (list x 'UNITS 4))))
    )
  )

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