Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  ENTITY

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:  ENTITY (757 mal gelesen)
marvin101010
Mitglied
ingenieur der architektur ohne diplom, bauzeichner ohne lehre, cad-admin ohne wissen :-)


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

Beiträge: 562
Registriert: 22.01.2003

Pentium 4
Windows XP
Autocad 2002
Autocad 2002LT + Extender
ADT 3.3
ArchiCAD

erstellt am: 05. Aug. 2003 11:53    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 ihr übriggebliebenen...

versuche gerade eine Polylinie innerhalb eines Blockes zu modifizieren.
habe sie mir auch schon herausgefiltert und wollte nun die Koordinaten aller 10er mit dem jeweils gleichen x- und y-wert aufaddieren.
weil ich gerade ein wenig mit MAPCAR herumspiele (ähhh...ich meine jetzt den Befehl  ) dachte ich mir...ok...im prinzip habe ich eine liste und will mit bestimmten elementen dieser liste immer das gleiche tun...also kann man mapcar/lambda nehmen.
irgendwie erkennt er das ganze jedoch nicht so richtig...RAT? 

------------------
.......good vibrations make the world go round 

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

benwisch
Mitglied
Bautechniker, CAD-Konstrukteur


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

Beiträge: 375
Registriert: 01.02.2001

erstellt am: 06. Aug. 2003 18:30    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 marvin101010 10 Unities + Antwort hilfreich

verstehe ich dich richtig ?

- alle gleichen x-werte einer vertex-list mit z.b. 100 addieren
bsp. '((1 2 3) (4 1 6) (1 2 7)) => '((101 2 3) (4 1 6) (101 2 7))

- alle gleichen y-werte einer vertex-list mit z.b. 200 addieren
bsp. '((1 2 3) (4 1 6) (1 2 7)) => '((1 202 3) (4 1 6) (1 202 7))

---

- oder aber alle gleichen x- UND y-werte mit z.b. 300 addieren
bsp. '((1 2 3) (4 1 6) (1 2 7)) => '((301 302 3) (4 1 6) (301 302 7))

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

marvin101010
Mitglied
ingenieur der architektur ohne diplom, bauzeichner ohne lehre, cad-admin ohne wissen :-)


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

Beiträge: 562
Registriert: 22.01.2003

Pentium 4
Windows XP
Autocad 2002
Autocad 2002LT + Extender
ADT 3.3
ArchiCAD

erstellt am: 07. Aug. 2003 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

hallo benwisch

ich habe eine polylinie mit zb:

(10 1.0 2.0) (10 1.0 3.0) (10 2.0 3.0) (10 1.0 3.0)

auf diese werte möchte ich zb (4.3453 6.8905) aufaddieren

(10 5.3453 8.8905) (10 5.3453 9.8905) usw...

mit einer repeatschleife funzt das wunderbar, mit mapcar nicht...warum? 

------------------
.......good vibrations make the world go round 

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

benwisch
Mitglied
Bautechniker, CAD-Konstrukteur


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

Beiträge: 375
Registriert: 01.02.2001

erstellt am: 07. Aug. 2003 14:41    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 marvin101010 10 Unities + Antwort hilfreich

hi marvin,
doch das geht mit mapcar 

bsp. 1
------
alle (as10 xP yP) sind in EINER liste gespeichert, also '((as10 xP1 yP1)(as10 xP2 yP2)(as10 xP3 yP3))
hier kommst du nun mit (mapcar '(lambda (elem)... heran, aber...
diese liste besteht aus 3 werten -->'(as10 xP1 yP1) , deine aufaddierungs-liste -->'(4.3453 6.8905) hat nur zwei werte. und der erste wert
soll ja nicht verändert werden (is' ja der assoc 10)

mein vorschlag wäre, dem mapcar eine temp-liste  zu übergeben in der der as10 wert nicht mehr existent ist und für dein gesamtergebnis einfach wieder neu hinzufügt wird.

bsp. 2
------
es gibt nur eine liste mit eben den car, cadr sowie caddr werten. hier braucht du IMHOIn my humble opinion = Meiner bescheidenen Meinung nach kein lambda. es langt ein mapcar !
aber der car-wert soll ja nicht verändert werden ! auch hier würde ich einfach den as10 wert neu hinzufügen.

und hier ein paar code-bsp...

(mapcar '+ '(4.3453 6.8905) '(10 1.0 2.0)))     
==> '(14.3453 7.8905)
du siehst, nur die ersten list-elemente werden bearbeitet. der y-wert ist weg

(mapcar '+ '(4.3453 6.8905) (cdr '(10 1.0 2.0)))
==> '(5.3453 8.8905) 
ich übergebe mapcar nur die liste ab dem 2. wert (cdr). x und y werden nun gesetzt. jedoch der car wert ist nicht da.

(cons 10 (mapcar '+ '(4.3453 6.8905) (cdr '(10 1.0 2.0)))) 
==> '(10 5.3453 8.8905)
ja und so wäre mein vorschlag. einfach mit cons den as10 vorsetzen.

und für eine liste mit listwerten erreicht du das dann eben mit (mapcar '(lambda (elem)....
wobei dann deine temp-liste mit (cdr elem) erzeugt wird...  

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

marvin101010
Mitglied
ingenieur der architektur ohne diplom, bauzeichner ohne lehre, cad-admin ohne wissen :-)


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

Beiträge: 562
Registriert: 22.01.2003

Pentium 4
Windows XP
Autocad 2002
Autocad 2002LT + Extender
ADT 3.3
ArchiCAD

erstellt am: 07. Aug. 2003 15:11    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

klingt logisch...
werde ich morgen testen...wenn du mir jetzt noch sagst,
wie ich über eine lisp "m²" gebacken bekomme und nicht "m?"
dann bist du entgültig mein held 

------------------
.......good vibrations make the world go round 

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

mkl-cad
Mitglied
Technischer Zeichner


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

Beiträge: 378
Registriert: 23.07.2003

ACAD 2002
Express Tools 1-9
Architektural Desktop
Windows XP
Server Windows 2003
3 GHz Rechner
1 GB RAM
80 GB Festplatte
ATI FireGL V3100
2 17" Flachbildschirme

erstellt am: 07. Aug. 2003 17:25    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 marvin101010 10 Unities + Antwort hilfreich


simplex.zip

 
Hallo.

3 Möglichkeiten

1. Entweder mit Mtext arbeiten. Dort gibt es Sonderzeichen.
  Auch Funktionen zum hochstellen dabei die auch mit Lisp erstellt
  werden können. Ist nur nicht ganz einfach.

2. Nicht mit Standartschrifen wie Simplex oder Txt arbeiten.
  Bei einigen True-Type Schriften funktionieren Sonderzeichen.
  Geht allerdings auf die Rechnerleistung

3. Die anhängende simplex.shx benutzen und folgende Sonderzeichen
  benutzen:

  %%182 = Text hochstellen und mit beliebigen Text weiterschreiben
  %%183 = von hochgestellten Text zurück zu normalen Text
  %%184 = Text tiefstellen und mit beliebigen Text weiterschreiben
  %%185 = von tiefgestellten Text zurück zu normalen Text
  %%128 = Eurozeichen

Beispiel:

  m%%1822= m²

Wie man Textdateien umschreiben kann möchte ich nicht näher drauf eingehen, da das ziemlich kopliziert ist. Habe selber viele Anläufe für gebraucht. Kann das warscheinlich auf anhieb nicht mehr da das schon länger her ist. Alle andern Sonderzeichen wie %%p = Durchmesser bleiben natürlich erhalten.


Martin

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