FastFiber

autonumb

Gestart door Markske, ma 20 02 2006, 10:00:49

Vorige topic - Volgende topic

Markske

hoi,

ik heb de lisproutine "Autonumb" van deze website gedownload en heb volgend probleempje.
ik kan hier geen kommagetallen laten optellen  :(

vb:
1e getal: 90.00
2e getal: 94.50
3e getal: 99.00
...

weet iemand raad?
(is er ook een verschil met punten en komma's?)

alvast bedankt!!!

groetjes,
Markske

WebRacer

#1
MARK, autonumber zoekt op integers, en plaatst er een integer voor en/of na bij,
rekent uit met een automatsche nummering van welke kant ook.
Ik weet niet wat jij hiermee wil doen, maar als je het even kan verklaren kan je op een andere manier geolpen worden denk ik.

tot later
?

Markske

kijk, ik heb raster met aan de linkerkant een hele rij met allemaal dezelfde nummers bv. 00.00
dit zijn hoogtes (of dieptes)

nu wil ik die laten oplopen met bv. 0.50
dan wil ik krijgen:

05.00
04.50
04.00
03.50
03.00
02.50
02.00
01.50
01.00
00.50
00.00

maar autonumb houdt alleen rekening met gehele getallen, niet met kommagetallen.
hoe komt dat... en hoe kan je dat oplossen?

groetjes,
Markske


Joop

Met volgende code zou het moeten lukken.

(defun C:nummer (/ beginwaarde verschil getal)
  (setq beginwaarde (getint "\nBeginwaarde: "))
  (setq verschil (getint "\nStap: "))
  (setq getal (entsel "\nKlik op het eerste nummer:"))
  (while (/= getal nill)
    (command "change" getal "" "" "" "" "" "" beginwaarde)
    (setq beginwaarde (+ beginwaarde verschil))
    (setq getal (entsel "\nVolgende nummer:"))
    (if (= getal nill)
      (setq getal (entsel "\nVolgende poging of enter om af te sluiten:"))
    ) ;_ end of if
  ) ;_ end of while
  (princ)
) ;_ end of defun
;|«Visual LISP© Format Options»
(100 2 40 2 T "end of " 80 9 0 0 nil T T nil T)
;*** DO NOT add text below the comment! ***|;
Een gelovig volger van
"de Sacrale Kunst van Luiheid",
zijn leider "Lisp" en acoliet "Script".

julien

Is dat dit lispje
http://www.cadsite.be/download/pafiledb.php?action=file&id=10
Dat zal waarschijnlijk doen wat je wil bereiken.

Markske

sorry, maar ik denk dat deze lisp hetzelfde probleem heeft als bij autonumb.
ik krijg de foutmelding "Requires an integer value." wanneer ik 0.5 of 0,5 ingeef.

dus... zoals WebRacer al had aangegeven werken deze lisp's alleen maar met "integers" (= gehele getallen?)
jammer dat er niet iets is voor komma-getallen  :(

groetjes,
Markske

WebRacer

#6
Dag Marksken, ik wil u graag uit uw lijden verlossen, probeer deze eens...

(defun C:Xnum (/ )
  (setq #delta (getreal "\nGeef de deltawaarde op: "))
  (setq StrtNum (car (entsel "\nBasisgetal -> "))
   BGetal (cdr (assoc 1 (entget StrtNum))))
  (while (setq old_num (car (entsel "\nGetal -> ")))
     (entmod (subst (cons 1 (setq BGetal (rtos (+ (atof BGetal) #delta) 2 2))) (cons 1 (cdr (assoc 1 (entget old_num)))) (entget old_num))))(princ)
)


Ik heb het heel simpel gehouden, werkt op zowel Mtexten als Dtexten...
?

Markske

Citaat van: WebRacer op di 21 02 2006, 20:40:46

(defun C:Xnum (/ )
  (setq #delta (getreal "\nGeef de deltawaarde op: "))
  (setq StrtNum (car (entsel "\nBasisgetal -> "))
   BGetal (cdr (assoc 1 (entget StrtNum))))
  (while (setq old_num (car (entsel "\nGetal -> ")))
     (entmod (subst (cons 1 (setq BGetal (rtos (+ (atof BGetal) #delta) 2 2))) (cons 1 (cdr (assoc 1 (entget old_num)))) (entget old_num))))(princ)
)



Werk perfect WebRacer  :D
Schitterende lisp!!!
Zelfs negatieve getallen kan je ingeven.
Deze ga ik veel gebruiken (en andere forum gebruikers ook misschien?)

Maar... en nu wil ik niet lastig doen hoor, maar... kan ik de lisp combineren met die autonumb?
Zo kan je ook Prefix-en en Suffix-en gebruiken  :wink:

Grtz,
Markske


WebRacer

Even simpel opgelost als het andere, zonder veel franjes...
(defun C:Xnum (/ )
  (setq #pre (getstring "\nGeef prefix op: "))
  (setq #suf (getstring "\nGeef suffix op: "))
  (setq #delta (getreal "\nGeef de deltawaarde op: "))
  (setq StrtNum (car (entsel "\nBasisgetal -> "))
   BGetal (cdr (assoc 1 (entget StrtNum))))
  (while (setq old_num (car (entsel "\nGetal -> ")))
     (entmod (subst (cons 1 (strcat #pre (setq BGetal (rtos (+ (atof BGetal) #delta) 2 2)) #suf)) (cons 1 (cdr (assoc 1 (entget old_num)))) (entget old_num))))(princ)
)
?

Markske

All right  :D

Big Thanx!!!
Markske

FastFiber