Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Rund um AutoCAD
  Linientyp mit AutoLISP ändern

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:  Linientyp mit AutoLISP ändern (114 / mal gelesen)
Guijlen
Mitglied
Geomatiker

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

Beiträge: 1
Registriert: 24.07.2024

AutoCAD Map 3D

erstellt am: 24. Jul. 2024 12:35    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 bin leider ziemlicher AutoLISP Neuling. Das erstellen einiger Shortcuts funktioniert bei mir ganz gut.
Nun wollte ich einen Shortcut erstellen, um den Linientyp eines Layers zu ändern bzw. neu zu setzen.
Konkret will ich den Layer "E Trassenabschnitt Freileitungen" auf den Linientyp "VonLayer" setzen.

Meine Idee war Folgende:
(defun c:oc()
(command "CLAYER" "E Trassenabschnitt Freileitungen")
(command "E Trassenabschnitt Freileitungen" "set" "lnientyp" "VonLayer" "" "")
)


Leider funktioniert es nicht, hat jemand Hilfe? :confused:

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: 1142
Registriert: 27.11.2003

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

erstellt am: 24. Jul. 2024 13: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 Guijlen 10 Unities + Antwort hilfreich

Hallo Guijlen,

erst einmal Herzlich Willkommen im WBF :-)

Ein Layer kann keinen Linientyp "VonLayer" haben.
Hier passt also irgendetwas in Deiner Beschreibung nicht. Um jetzt kein Rätselraten zu veranstalten, was Du meinen könntest, bitte Deine Beschreibung noch mal prüfen und anpassen.

Gruß
Thomas

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: 22200
Registriert: 03.06.2002

System: F1
und Google

erstellt am: 24. Jul. 2024 13: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 Guijlen 10 Unities + Antwort hilfreich

Hallo,

auch ich bin daran interessiert zu erfahren mit welchem Linientyp der Kreis dargestellt wird,
welche den Linientyp VonLayer hat und auf den Layer "E Trassenabschnitt Freileitungen" referenziert.


Noch zwei Probleme:

(command "CLAYER" "E Trassenabschnitt Freileitungen")
Was passiert wenn es den Layer nicht gibt? Ich empfehle stattdessen Befehl Layer, Option MACHEN (oder layer und make) zu verwenden.
(command "-.-LAYER" "_make" "E Trassenabschnitt Freileitungen" "") oder mit Farbvorgabe (command "-.-LAYER" "_make" "E Trassenabschnitt Freileitungen" "_co" "1" "E Trassenabschnitt Freileitungen" "") etc.

(command "E Trassenabschnitt Freileitungen" "set" "lnientyp" "VonLayer" "" "")
"E Trassenabschnitt Freileitungen" ist kein Befehl, das wird also zu einem Fehler führen..
die Option "set"zen fragt nach dem Layer welcher zu setzen ist, einen Layer "lnientyp" wird es nicht geben, zumal er dann wohl "Linientyp" geschrieben werden würde.

(defun c:OC ()
(command "_.-LAYER" "_make" "E Trassenabschnitt Freileitungen" "_co" "102" "E Trassenabschnitt Freileitungen" "_ltyp" "Getrennt" "E Trassenabschnitt Freileitungen" "")
(princ)
)

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

archtools
Mitglied



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

Beiträge: 955
Registriert: 09.10.2004

Entwickler für AutoCAD, BricsCAD u.a., alle Systeme

erstellt am: 26. Jul. 2024 09:15    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 Guijlen 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Guijlen:
Hallo,

ich bin leider ziemlicher AutoLISP Neuling. Das erstellen einiger Shortcuts funktioniert bei mir ganz gut.
Nun wollte ich einen Shortcut erstellen, um den Linientyp eines Layers zu ändern bzw. neu zu setzen.
Konkret will ich den Layer "E Trassenabschnitt Freileitungen" auf den Linientyp "VonLayer" setzen.

Meine Idee war Folgende:
(defun c c()
  (command "CLAYER" "E Trassenabschnitt Freileitungen")          
  (command "E Trassenabschnitt Freileitungen" "set" "lnientyp" "VonLayer" "" "")
  )


Leider funktioniert es nicht, hat jemand Hilfe? 


Lade Dir von www.cadcal.de/cadcal.zip das kostenfreie CADCAL herunter, da ist eine Bibliotheksfunktion CC-MAPENT enthalten.

Mit CC-MAPENT kannst Du so ziemlich alles an einem Entity ändern, und natürlich auch Layer und Linientyp. Der Layer muss vorher nicht existieren, und er darf auch gefroren sein.

Erzeuge also Deine "Freileitung" ganz einfach mit den aktuellen Einstellungen für Layer, Linientyp usw, speichere den Enamen mit z.B. (setq en (entlast)) in einer Variablen, und rufe dann
(cc-mapent en 8 "NeuerLayer")
auf. 8 ist der DCF-Code für Layer, und Dein Entity wird danach auf dem Layer "NeuerLayer" liegen.
Ganz analog dann auch den Linientyp. Der DXF-Gruppencode lautet 6, also musst Du eingeben:
(cc-mapent en 6 "meinneuerlinientyp")
Allerdings musst Du hier vorher prüfen, ob der Linientyp in der DWG vorhanden ist, und muss den notfalls vorher nachladen.
Mit CC-MAPENT kannst Du vieles anderes machen, wie z.B. einer Blockreferenz eine andere Blockdefinition zuweisen uswusf..

Mit CC-MAPENT kannst Du auch die Eigenschaften von CALScript Objekten ändern, da gibst Du einfach statt des DXF-Codes den Namen des Parameters an, also z.B.
(cc-mapent en 'HEIGHT 2000)


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)2024 CAD.de | Impressum | Datenschutz