Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Nummerirrung

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:  Nummerirrung (1958 mal gelesen)
RoyCAD
Mitglied
Dipl-Ing Energietechnik


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

Beiträge: 206
Registriert: 24.05.2004

Win XP
AutoCAD2008-2010
Inventor 2008-2010
Productstream Compass
P4 3,0GHz
512MB Ram

erstellt am: 19. Jan. 2005 11:06    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

Nach dem ich schon mit Hilfe von CADmium ein Problem Heutee gelöst habe, steht der nächste in der reiche. Ich schreibe ein Nummerierung Tool .

(defun C:NUMM (/ nr numeifp gtx)

(setq nr (if (setq gtx (getint "\nStartnummer <0>")) (1- ant) 0 ))

(while
(setq numeifp (getpoint (strcat "\nEinfügepunkt für Nummer: "(itoa (setq nr (1+ nr)))" picken ->")))

)
????
Jedoch ich will das er mir die Zahlen im einem Kreis schreibt, aber da ich relativ wenig Erfahrung mit lisp habe, bin ins Schwierigkeiten geraten. Könnte mir jemand helfen beim diesem Tool das  die Zahlen im einem Kreis auf dem Bildschirm erscheinen. 

Gruß
Roy

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

One AutoCAD 2.5 - 2023, Civil 3D, Win10/win11

erstellt am: 19. Jan. 2005 11:24    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 RoyCAD 10 Unities + Antwort hilfreich

Erstelle dir einen Block (Am besten einen Kreis) namens z.B. NR mit einem "mittig zentriert" ausgerichteten ATTRIBUT z. B. NR.
Dann fügst du mit (COMMAND "_INSERT... diesen Block ein und übergibst dabei gleich die Zahl als Zeichenkette für das Attribut.

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

Udo Hübner
----------
Der versteckte Fehler bleibt nie unentdeckt.

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

RoyCAD
Mitglied
Dipl-Ing Energietechnik


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

Beiträge: 206
Registriert: 24.05.2004

Win XP
AutoCAD2008-2010
Inventor 2008-2010
Productstream Compass
P4 3,0GHz
512MB Ram

erstellt am: 19. Jan. 2005 13:29    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

--------------------------------------------------------------------
"Dann fügst du mit (COMMAND "_INSERT... diesen Block ein und übergibst dabei gleich die Zahl als Zeichenkette für das Attribut."
--------------------------------------------------------------------

Wie soll ich die Zahl als Zeichenkette für das Attribut übergeben
wenn ich  fragen darf. 


(setq nr (if (setq gtx (getint "\nStartnummer <0>")) (1- ant) 0 ))

(while
(setq numeifp (getpoint (strcat "\nEinfügepunkt für Nummer: "(itoa (setq nr (1+ nr)))" picken ->")))

)

  (command "_insert" "P:/nr.dwg" ??????)

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

Alles

erstellt am: 19. Jan. 2005 13: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 Nur für RoyCAD 10 Unities + Antwort hilfreich

Entwicklerhilfe --> Conversion Functions

hier:
( rtos number [mode [precision]])
Converts a number into a string

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

marc.scherer
Ehrenmitglied V.I.P. h.c.
CAD-Administrator



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

Beiträge: 2490
Registriert: 02.11.2001

Windows 10 64bit
AutoCAD Architecture 2018/2019 (deu/eng)
AEC-Collection 2019 (Revit und Zeugs)
Wenn sich's nicht vermeiden läßt:
D-A-CH Erweiterung (mies implementierter Schrott)

erstellt am: 19. Jan. 2005 13: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 Nur für RoyCAD 10 Unities + Antwort hilfreich

Hi,
da hatte ich mal was ähnliches rumliegen, vielleicht kann es als Inspiration oder aber abschreckendes Beispiel dienen :-)
Code:

(defun C:KT (/          PKT        TXT        START_NUMMER
            KREISRADIUS TXT_KORD    TXT_HOEHE  TXT_XY
            EINGABE
            )
  (if (null FAKTOR)
    (progn
      (initget "1 2 3 4 5")
      (setq EINGABE
            (getkword
              "\nKartierungsmaßstab...1=100, 2=200, 3=250, 4=500, 5=1000 [1/2/3/4/5]: "
            )
      )
      (cond
        ((= EINGABE "1") (setq FAKTOR 1))
        ((= EINGABE "2") (setq FAKTOR 2))
        ((= EINGABE "3") (setq FAKTOR 2.5))
        ((= EINGABE "4") (setq FAKTOR 5))
        ((= EINGABE "5") (setq FAKTOR 10))
      )
    )
  )
  (setq KREISRADIUS (* 0.05 FAKTOR))
  (setq TXT_KORD (* 0.08 FAKTOR))
  (setq TXT_HOEHE (* 0.18 FAKTOR))
  (setq TXT_XY (strcat "@" (rtos TXT_KORD 2 2) "," (rtos TXT_KORD 2 2)))
  (if (null START_NUMMER)
    (setq START_NUMMER (getint "\nStart Pkt-Nummer: "))
  )
  (setq PKT 't)
  (while PKT
    (setq PKT (getpoint (strcat "\nKoordinate für "
                                (itoa START_NUMMER)
                                " eingeben: "
                        )
              )
    )
    (if (/= PKT NIL)
      (progn
        (command "_circle" PKT KREISRADIUS)
        (command "_text" TXT_XY TXT_HOEHE "100" START_NUMMER)
        (setq START_NUMMER (1+ START_NUMMER))
      )                                ;end progn
    )                                  ;end if
  )                                    ;end while
  (princ)
)
;;;
(princ
  "\nKART_PKT, Punkte mit Punktnummer kartieren... \nAufruf mit KT."
)
(princ)


...

------------------
Ciao,
Marc

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

RoyCAD
Mitglied
Dipl-Ing Energietechnik


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

Beiträge: 206
Registriert: 24.05.2004

Win XP
AutoCAD2008-2010
Inventor 2008-2010
Productstream Compass
P4 3,0GHz
512MB Ram

erstellt am: 20. Jan. 2005 09:29    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


Zeichnung6.pdf

 
Hallo Marc

Ich habe deine Inspiration war genommen und dein Code so bearbeitet:

(defun C:Num (/ KREISRADIUS TXT_KORD TXT_KORD TXT_HOEHE TXT_XY START_NUMMER PKT) 
  (setq KREISRADIUS 14.0)
  (setq TXT_KORD 1.6)
  (setq TXT_HOEHE 7.0)
  (setq TXT_XY (strcat "@" (rtos TXT_KORD 2 2) "," (rtos TXT_KORD 2 2)))
  (if (null START_NUMMER)
    (setq START_NUMMER (getint "\nStart Pkt-Nummer: "))
  )
  (setq PKT 't)
  (while PKT
    (setq PKT (getpoint (strcat "\nKoordinate für "
                                (itoa START_NUMMER)
                                " eingeben: "
                        )
              )
    )
    (if (/= PKT NIL)
      (progn
(command "layer" "machen" "TEXT5" "")
        (command "_circle" PKT KREISRADIUS)
        (command "_text"  TXT_HOEHE "100" START_NUMMER)
        (setq START_NUMMER (1+ START_NUMMER))
      )                                ;end progn
    )                                  ;end if
  );end while

  )

Aber die Zahlen werden nicht gerade geschrieben, kannst du mir ein Tipp geben wie soll ich das bearbeiten.

Gruß Roy 


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

marc.scherer
Ehrenmitglied V.I.P. h.c.
CAD-Administrator



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

Beiträge: 2490
Registriert: 02.11.2001

Windows 10 64bit
AutoCAD Architecture 2018/2019 (deu/eng)
AEC-Collection 2019 (Revit und Zeugs)
Wenn sich's nicht vermeiden läßt:
D-A-CH Erweiterung (mies implementierter Schrott)

erstellt am: 20. Jan. 2005 09: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 RoyCAD 10 Unities + Antwort hilfreich

Hi,
die "100" in (command "_text"  TXT_HOEHE "100" START_NUMMER) steht bei mir eigentlich für "100 gon, wenn Null-Richtung im Norden ist".
Mein Acad ist vermessungstechnisch eingestellt:
Code:

(setvar "AUNITS" 2) ;_ Winkeleinheiten "Grad"
(setvar "AUPREC" 3) ;_ Winkelnachkommastellen 3
(setvar "ANGDIR" 1) ;_ Winkelrichtung "Im Uhrzeigersinn"
(setvar "ANGBASE"
  (* 2 pi (/ 90.0 360)) ;_0-Richtung Norden
)


Du mußt mal schauen, wie das bei Dir eingestellt ist (Menü "Format" -> Einheiten) und den Winkelwert entsprechend Deinen Vorgaben verändern.
Oder aber Du schreibst "100g", dann verwendet Acad für den Winkelwert 100 "Grad" (Neugrad) und nicht Dezimalgrad. Du könntest auch "90d" (d = Degree = Dezimalgrad) verwenden, aber diese Angaben beziehen sich auch immer auf den Drehsinn bzw. die aktuelle Nordrichtung. Guck einfach mal was Du per Hand beim erstellen eines Textes verwenden mußt, damit der Text "gerade" geschrieben wird...

------------------
Ciao,
Marc

[Diese Nachricht wurde von marc.scherer am 20. Jan. 2005 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

One AutoCAD 2.5 - 2023, Civil 3D, Win10/win11

erstellt am: 20. Jan. 2005 09: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 RoyCAD 10 Unities + Antwort hilfreich

Problem:
(command "_text"  TXT_HOEHE "100" START_NUMMER)

Hier fehlt zuerst mal der Einfügepunkt TXT_XY
und dann ist der Drehwinkel auf "100" eingestellt (Das würde nur für Vermesser Sinn machen, wenn ANGDIR=1 ANGBASE=100g und
AUNITS=2  (Neugrad bzw. GON)

besser:
(command "_text" TXT_XY TXT_HOEHE 0.0 START_NUMMER)

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

Udo Hübner
----------
Der versteckte Fehler bleibt nie unentdeckt.

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

RoyCAD
Mitglied
Dipl-Ing Energietechnik


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

Beiträge: 206
Registriert: 24.05.2004

Win XP
AutoCAD2008-2010
Inventor 2008-2010
Productstream Compass
P4 3,0GHz
512MB Ram

erstellt am: 20. Jan. 2005 12: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

Hi
Danke für die schnellen Antworten, es funktioniert !!!!
Gruß Roy 

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: 17. Feb. 2005 09:19    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 RoyCAD 10 Unities + Antwort hilfreich


L-nr.zip

 
Alternativvorschlag:

(defun c:l-nummer ( /  wert a r o o2 l)
  (setq wert 1 r -1 a (ssget "x" '((0 . "Insert") (2 . "L-nr"))))
  (if (= a nil)()(progn
  (repeat (sslength a)
    (setq r (+ r 1))
    (setq o (ssname a r))
    (setq o2 (atoi (cdr (assoc 1(entget(entnext o))))))
    (if (= o2 nil)(setq o2 "0")())
    (if (or (> o2 wert)(= o2 wert))(setq wert (+ 1 o2))())   
    )))
  (setq l (getvar "clayer"))
  (setvar "clayer" "L-18"); Layer wählen Ob existiert muß hier noch geprüft werden
  (setvar "attdia" 0)
  (princ "\nEinfügepunkt:")
  (command "einfüge" "L-nr" "vf" (getvar "userr2") pause (getvar "userr2") "" "" (rtos wert)) ;Faktor hier durch userr2 gewählt
  (setvar "clayer" l)
  (setvar "attdia" 1)
  (princ)
  )

------------------
  Martin  

Viele Grüße aus dem schönen Münsterland!

[Diese Nachricht wurde von mkl-cad am 17. Feb. 2005 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