|  |  | 
|  | 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:  entnext für nächstes Blockelement (1612 mal gelesen) | 
 | SHP Mitglied
 Konstrukteur
 
     
 
      Beiträge: 1331Registriert: 17.07.2003
 Win2kIV7-SP1
 IV8
 IV9
 |    erstellt am: 25. Okt. 2004 12:04  <-- editieren / zitieren -->    Unities abgeben:            
  Hallo, ich hab folgendes Problem. Habe aus Inventor eine Zeichnung auf Acad-Mechanical gespeichert. Die Bohrungsinfos ais Inventor kommen als Blöcke nach Acad. Normalerweise wenn ich einen Block mit entsel anwähle, bekomme ich bei entnext das nächste Element vom Block. Aber warum nicht hier (siehe Anhang). ------------------Gruß
 Hans-Peter
  Der Wahnsinn in Sachen Musik.
    Das Saxregister
   Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP | 
                        | Brischke Moderator
 CAD on demand GmbH
 
         
 
  
 
      Beiträge: 4201Registriert: 17.05.2001
 AutoCAD 20XX, defun-tools (d-tools.eu) |    erstellt am: 25. Okt. 2004 12:08  <-- editieren / zitieren -->    Unities abgeben:           Nur für SHP   
  Hallo Hans-Peter, das ist ganz logisch, denn ein INSERT (Blockreferenz) hat nur dann ein nächstes Element, wenn dieser über variable Attribute verfügt. Du musst dann wahrscheinlich in die Blocktabelle, und dort die Blockdefinition nach dem nächsten Element durchsuchen.(entget(tblobjname "BLOCK" (cdr(assoc 2 (entget(car(entsel)))))))
 Damit hast du erst einmal die Blockdefinition.
 Bei Fragen ... Grüße Holger ------------------Holger Brischke
 (defun - Lisp over night!
 AutoLISP-Programmierung für AutoCAD
 Da weiß man, wann man's hat!
 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP | 
                        | SHP Mitglied
 Konstrukteur
 
     
 
      Beiträge: 1331Registriert: 17.07.2003
 Win2kIV7-SP1
 IV8
 IV9
 |    erstellt am: 25. Okt. 2004 13:44  <-- editieren / zitieren -->    Unities abgeben:            | 
                        | cadffm Moderator
 良い精神
 
         
 
  
 
      Beiträge: 22689Registriert: 03.06.2002
 Alles |    erstellt am: 25. Okt. 2004 13:52  <-- editieren / zitieren -->    Unities abgeben:           Nur für SHP   
  Evtl sind deine Texte mit der Farbe "vonlayer" - in diesem Fall fehlt der gc62 ! sehe dir das mal an, schaue dir die Entitylist eines Elementes an welches die Farbe VONLAYER hat..  Du mußt also Prüfen ob gc62 überhaupt vorhanden ist um mit SUBST etwas zu tauschen. ------------------.Signatur hat derzeit leider Urlaub.
 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP | 
                        | SHP Mitglied
 Konstrukteur
 
     
 
      Beiträge: 1331Registriert: 17.07.2003
 Win2kIV7-SP1
 IV8
 IV9
 |    erstellt am: 25. Okt. 2004 14:02  <-- editieren / zitieren -->    Unities abgeben:            | 
                        | CADmium Moderator
 Maschinenbaukonstrukteur
 
         
 
  
 
      Beiträge: 13533Registriert: 30.11.2003
 . |    erstellt am: 25. Okt. 2004 14:08  <-- editieren / zitieren -->    Unities abgeben:           Nur für SHP   
  (defun binfotxt_color ( / BLOCK ob  subenti farbe)     (setq BLOCK (tblobjname "BLOCK" (cdr(assoc 2 (entget(car(entsel)))))))     (setq OB BLOCK)      (while (setq ob (entnext ob))       (if (=(cdr(assoc 0 (setq subenti(entget ob))))"MTEXT")         (progn                           (princ "\nMTEXT vorhanden")           (if (assoc 62 subenti)              (setq subenti (subst  (cons 62 2) (assoc 62 subenti) subenti))              (setq subenti (append subenti (list(cons 62 2))))           )           (entmod subenti)                          )       )       )                                 (entupd block)     (command "_regen") ) ------------------
  - 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 | 
                        | cadffm Moderator
 良い精神
 
         
 
  
 
      Beiträge: 22689Registriert: 03.06.2002
 Alles |    erstellt am: 25. Okt. 2004 14:12  <-- editieren / zitieren -->    Unities abgeben:           Nur für SHP   
  Also jetzt verstehe ich dich nicht mehr: 1. du sagst in etwa "irgendwas geht nicht" Da das Lisp aber funktioniert dachte ich das du evtl einInsert wählst in dem im Block der Mtext die Farbe "vonlayer"
 aufweist, deswegen klappt dein Code an dieser Stelle auch nicht !
 (siehe Code von CADmium, der hat diese "Möglichkeit" berücksichtigt..) was du nun aber mit 255,0,0 hast ist mir unverständlich ???
 ------------------.Signatur hat derzeit leider Urlaub.
 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP | 
                        | CADmium Moderator
 Maschinenbaukonstrukteur
 
         
 
  
 
      Beiträge: 13533Registriert: 30.11.2003
 . |    erstellt am: 25. Okt. 2004 14:16  <-- editieren / zitieren -->    Unities abgeben:           Nur für SHP   
  achso auch noch Truecolor in RGB-Farben <dream> ..- glaub ich aber nicht -  da müßtest du den 420 'er GC auch setzen. Bei Farbbüchern auch den 430'er ------------------
  - 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 | 
                        | Brischke Moderator
 CAD on demand GmbH
 
         
 
  
 
      Beiträge: 4201Registriert: 17.05.2001
 AutoCAD 20XX, defun-tools (d-tools.eu) |    erstellt am: 25. Okt. 2004 14:17  <-- editieren / zitieren -->    Unities abgeben:           Nur für SHP   
  Hallo Hans-Peter, MTexten werden die Eigenschaften nicht nur über die Gruppencodes des Elementes zugewiesen.So kann der Text selbst formatiert sein, die Farbe also im String (was dann GC 1 ist) enthalten sein. Gleich verhält es sich auch mit Textstilen, Fonts usw.
 Diese Formatierungen haben Vorrang vor den Gruppencodes.
 Bei Fragen ... Grüße Holger ------------------Holger Brischke
 (defun - Lisp over night!
 AutoLISP-Programmierung für AutoCAD
 Da weiß man, wann man's hat!
 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP | 
                        | SHP Mitglied
 Konstrukteur
 
     
 
      Beiträge: 1331Registriert: 17.07.2003
 Win2kIV7-SP1
 IV8
 IV9
 |    erstellt am: 25. Okt. 2004 14:25  <-- editieren / zitieren -->    Unities abgeben:            
  Hallo, das Problem ist, daß der MTEXT von Inventor nicht rot sondern 255,0,0 rüberkommt. Wenn ich jetzt einen Block exlodiere und die Farbe auf Rot ändere und wieder einen Block erzeuge, funktioniert die Routine von CADmium. Bei einem Originalblock leider nicht. Ich hab noch die Entitiliste angehängt, hoffentlich hab ich jetzt alle Unklarheiten beseitigt. Wenn nähmlich der Inventor Rot rausschreiben würde bräuchte ich diese Routine auch gar nicht.Aber das macht er hald so.
 
 ------------------Gruß
 Hans-Peter
  Der Wahnsinn in Sachen Musik.
    Das Saxregister
   Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP | 
                        | CADmium Moderator
 Maschinenbaukonstrukteur
 
         
 
  
 
      Beiträge: 13533Registriert: 30.11.2003
 . |    erstellt am: 25. Okt. 2004 14:38  <-- editieren / zitieren -->    Unities abgeben:           Nur für SHP   
  na dann : (defun binfotxt_color ( / BLOCK ob  subenti farbe)(setq BLOCK (tblobjname "BLOCK" (cdr(assoc 2 (entget(car(entsel)))))))
 (setq OB BLOCK)
 (while (setq ob (entnext ob))
 (if (=(cdr(assoc 0 (setq subenti(entget ob))))"MTEXT")
 (progn
 (princ "\nMTEXT vorhanden")
 (setq subenti(vl-remove-if '(lambda(x) (member (car X)'(420)))subenti))
 (if (assoc 62 subenti)
 (setq subenti (subst  (cons 62 2) (assoc 62 subenti) subenti))
 (setq subenti (append subenti (list(cons 62 2))))
 )
 (entmod subenti)
 )
 )
 )
 (entupd block)
 (command "_regen")
 )
 ------------------
  - 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 | 
                        | SHP Mitglied
 Konstrukteur
 
     
 
      Beiträge: 1331Registriert: 17.07.2003
 Win2kIV7-SP1
 IV8
 IV9
 |    erstellt am: 25. Okt. 2004 14:46  <-- editieren / zitieren -->    Unities abgeben:            | 
                       
 | SHP Mitglied
 Konstrukteur
 
     
 
      Beiträge: 1331Registriert: 17.07.2003
 Win2kIV7-SP1
 IV8
 IV9
 |    erstellt am: 26. Okt. 2004 10:31  <-- editieren / zitieren -->    Unities abgeben:            |