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
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
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
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! ***|;
Is dat dit lispje
http://www.cadsite.be/download/pafiledb.php?action=file&id=10
Dat zal waarschijnlijk doen wat je wil bereiken.
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
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...
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
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)
)
All right :D
Big Thanx!!!
Markske