Hallo,
Ik ben met een lisp script bezig en nu wil ik dmv invoeren van maten een radiator tekenen incl maatvoering.
Dit is allemaal geen probleem.
Bij deze radiator wil ik ook als text de maat van de radiator en de radiator code.
Ik heb dit geprobeerd om dit dmv een .cat bestand te doen.
Je laat de lisp dan zoeken in een database (hier het .cat bestand)
De zoekfunctie werkt prima met getallen die verschijnen keurig in autocad. alleen als ik deze getallen wijzig in letters werkt het niet meer.
Is het mogelijk om via lisp texten cq letters op te roepen uit een cat bestand?
Hieronder zie je de code.
(defun T_PROF_W ()
(cond
((equal prof_type "TGW")
(setq cat (open (findfile "TGW.cat") "r"))
(setq prt (getstring "Geef profiel, bijv. 100*11: "))
)
((equal prof_type "TOW")
(setq cat (open (findfile "TOW.cat") "r"))
(setq prt (getstring "Geef profiel, bijv. 100*50*8.5: "))
)
(T til)
)
(cat_data)
(command "_mtext" "0,0" "1000,1000" lnb "")
)
de laatste lnb defenitie verwijst naar de 3e regel uit de database.
Is er een manier om text te verwijzen vanuit een database in autocad?
Misschien kan je beter een versie met een access database posten zodat er meer mensen zijn die kunnen testen en de kans dat iemand er al ervaring mee heeft groter is.
Dnereb heeft zeker aandelen bij Microsoft access???
Mogen wij een zien hoe die *.cat files er uit zien?
Denk dat dit eenvoudig op te lossen is...
Hier dan de lisp en .cat bestand
Je kan em openen in exel als je de waardes wilt veranderen.
Wat ik dus wil is text uit de cellen halen en plaatsten in autocad.
Met getallen werkt het prima probeer bij de 2e type vraag 10 en 22 maar eens.
Als je 33 intyp bij de 3e blijven Mtext regel leeg.
Hier kun je de zip vinden:
//www.lyrix.net/veha.zip
Succes! (ik blijf uiteraard ook door puzzelen.)
Citaat van: WebRacerDnereb heeft zeker aandelen bij Microsoft access???
Mogen wij eens zien hoe die *.cat files er uit zien?
Denk dat dit eenvoudig op te lossen is...
Nope, nooit met .cat gewerkt
Is een koppeling met text vanuit acces wel mogelijk dan Dnereb?
Zo ja heb je daar een voorbeeld van?
wat bedoel je precies met 'koppeling met tekst'
moet er een tekst geselecteerd worden uit een database en in een Mtext worden gezet o.i.d.?
Ja precies dat is de bedoeling.
VEHA
@
10
200
300
400
1000
@
20
200
300
400
1000
@
22
200
300
400
1000
@
33
1000-300-33
1000
1000
1000
de inhoud van het bovengenoemde cat bestand geopend in een textpad
Ben er mee aan het stoeien om een voorbeeld je te maken...
Julien,
is er een mogelijkheid om dat te attachen/te up loaden?
Ik denk dat er wel meer mensen geintresseerd zijn in het uitlezen van een access database vanuit Acad.
In dit forum nog niet...
Je hebt 3 mogelijkheden, ofwel mail je het naar mij, dan plaats ik de file online, je plaatst deze op je webruimte van je internet providor en plaatst hier een link ofwel maak je gebruik van een online upload service.
Het volgende forum zal een upload functie hebben.
Lyrix,
ik ben er mee bezig maar ik had beloofd om te helpen schilderen bij een vriendin die verhuist. Ik zal zo spoedig mogelijk een database en dwg naar julien op sturen.
Ik ben van plan om er vrij veel commentaar in te zetten en er ook redelijke error handling en optie's in te bakken.
daarom verwacht ik het niet af te hebben voor maandag
(ook in het weekend heb ik verplichtingen....zucht)
Dnereb, ik ben al heel blij dat je me wil helpen!
Dit is namelijk mijn eerste lisp poject en ik en me collega zijn aardig op weg. Als we een voorbeeld hebben van een database en acad dan zijn de mogelijkheden volgens mij onbeperkt.
We hebben alle type radiatoren incl maatvoering in de lisp verwerkt.
De optie aansluitingen links of rechts werkt ook.
Nu alleen de koppeling nog voor de text bestanden en bestelnummers.
Ik wacht af. Schilder ze! :D
Oei misverstandje.
Het is in VBA niet in Lisp.
En hoewel ik nu heel veel commentaar ga krijgen..... :roll:
Als je je gaat verdiepen in automatisering in acad dan is VBA in mijn opinie een betere keuze.
Waarom:
je kan daarmee ook uit de voeten in:
Excel, Access, Word, Outlook, Powerpoint.
en het is een kleine stap naar VB.
Formulieren zijn makkelijker te gebruiken waardoor je gebruiksvriendelijker kan werken.
De code is beter leesbaar (Duck)
Het is meer object georienteerd/gebaseerd , een ontwikkeling die je steeds meet ziet in de ontwikkeling van Prog. talen
Duck....Duck.....Duck...Auch!!!...Too late :lol:
Nog heel even geduld en het nieuwe forum komt er.
http://www.cadsite.be/smf/
Hier zal je zelf attachments aan kunnen hangen.
Ik zit met nog een probleem:
Als de dimensie getekend word word er in de dimensie niet een "ware" waarde ingevuld maar een berekende waarde.
Alleen die waarde duid ie dan aan als bv 675.0000000000 ipv 675
Hoe krijg ik die nullen weg? Ik heb al van alles geprobeerd met de units instellingen maar krijg het niet voor elkaar.
Hebben jullie een tip?
Dit is de lisp:
Citeer
;(c) ALEXANDER BENTLAGE & STEPHAN VAN DER THOLEN 2005
;FUNCTIE VOOR FOUTAFHANDELING
;(defun *error* (msg)
; (if (/= msg "Function cancelled")
; (if (= msg "quit / exit abort")
; (princ)
; (princ (strcat "\nFoutieve waarde of " msg))
; )
; (princ)
; )
; (setvar "blipmode" bm)
; (setvar "osmode" os)
; (setvar "orthomode" om)
; )
;FUNCTIE VOOR HET OPSTARTEN VAN DE JUISTE RADIATOR
(defun c:VEHA ()
(setq bm (getvar "blipmode"))
(setq om (getvar "orthomode"))
(setvar "blipmode" 0)
(setvar "orthomode" 1)
(setq om (getvar "orthomode"))
(princ "\nGeef type radiator: 10, 11, 20, 21, 22, 33: ")
(initget 1 "10 11 20 21 22 33")
(setq prof_type (getkword ))
(cond
((equal prof_type "10") (10L_R))
((equal prof_type "11") (11L_R))
((equal prof_type "20") (20L_R))
((equal prof_type "21") (21L_R))
((equal prof_type "22") (22L_R))
((equal prof_type "33") (33L_R))
(T nil)
)
)
;FUNCTIE VOOR HET LEZEN VAN DATA UIT HET .CAT BESTAND
(defun CAT_DATA ()
(setq ln0 nil)
(setq prc nil)
(while (/= prt prc)
(while (/= ln0 "@")
(setq ln0 (read-line cat))
(if (= nil ln0)
(progn
(alert "Catalogus doorzocht, profiel niet gevonden.... ")
(close cat)
(exit)
)
)
)
(setq prc (read-line cat))
(if (= nil prc)
(progn
(alert "Catalogus doorzocht, profiel niet gevonden.... ")
(close cat)
(exit)
)
)
(setq ln0 nil)
)
(if (/= prc nil)
(progn
(setq lna (distof (read-line cat)))
(if (/= nil lna)
(progn
(setq lnb (distof (read-line cat)))
)
(setq lnb nil)
)
(if (/= nil lnb)
(progn
(setq lnc (distof (read-line cat)))
)
(setq lnc nil)
)
(if (/= nil lnc)
(progn
(setq lnd (distof (read-line cat)))
)
(setq lnd nil)
)
(if (/= nil lnd)
(progn
(setq lne (distof (read-line cat)))
)
(setq lne nil)
)
(if (/= nil lne)
(progn
(setq lnf (distof (read-line cat)))
)
(setq lnf nil)
)
(if (/= nil lnf)
(progn
(setq lng (distof (read-line cat)))
)
(setq lng nil)
)
)
)
(close cat)
)
;FUNCTIES VOOR RADIATOREN
(defun A_B_D_IP_ALPHA ()
(setq dsa (getreal "\nGeef lengte radiator: "))
(setq hk1 (getangle pt1 "\nGeef hoek radiator: "))
)
(defun HOEKEN ()
(setq hk2 (+ hk1 (* 0.5 pi)))
(setq hk3 (+ hk1 pi))
(setq hk4 (+ hk1 (* 1.5 pi)))
)
;FUNCTIES VOOR RADIATOREN TYPE 10
(defun 10L_R ()
(setq bm (getvar "blipmode"))
(setq os (getvar "osmode"))
(setq om (getvar "orthomode"))
(setvar "osmode" 2)
(setvar "blipmode" 0)
(setvar "orthomode" 1)
(setq om (getvar "orthomode"))
(setq pt1 (getpoint "\nGeef invoegpunt radiator: "))
(setvar "OSMODE" 0) ;; Restore OSNAP mode
(princ "\nGeef positie aansluiting: Links, Rechts: ")
(initget 1 "L R")
(setq prof_type (getkword ))
(cond
((equal prof_type "L") (VEHA_10L))
((equal prof_type "R") (VEHA_10R))
(T nil)
)
)
(defun VEHA_10L ()
(a_b_d_ip_alpha)
(hoeken)
(setq pt2 (polar pt1 hk4 100))
(setq pt3 (polar pt2 hk1 (/ dsa 2)))
(setq pt4 (polar pt3 hk3 dsa))
(setq pt5 (polar pt2 hk3 (+ (/ dsa 2) 50)))
(setq pt6 (polar pt5 hk3 80))
(setq pt7 (polar pt3 hk2 100))
(setq pt8 (polar pt3 hk1 150))
(setq pt9 (polar pt2 hk2 750))
(setq pt10 (polar pt1 hk2 750))
(command "-layer" "m" "WL561---_CV-SYMBOOL" "C" "7" "" "")
(command "pline" pt3 "w" "100" "100" pt4 "cl")
(command "circle" pt5 "d" "60")
(command "circle" pt6 "d" "60")
(command "-layer" "m" "WL561---_CV-MAATV" "C" "1" "" "")
(command "dimaligned" pt3 pt7 "t" "45" pt8)
(command "dimaligned" pt5 pt2 "t" (+ (/ dsa 2) 25) pt9)
(command "dimaligned" pt5 pt6 "t" "35" pt9)
(setvar "OSMODE" os) ;; Restore OSNAP mode
(princ)
)
(defun VEHA_10R ()
(a_b_d_ip_alpha)
(hoeken)
(setq pt2 (polar pt1 hk4 100))
(setq pt3 (polar pt2 hk3 (/ dsa 2)))
(setq pt4 (polar pt3 hk1 dsa))
(setq pt5 (polar pt2 hk1 (+ (/ dsa 2) 50)))
(setq pt6 (polar pt5 hk1 80))
(setq pt7 (polar pt3 hk2 100))
(setq pt8 (polar pt3 hk3 200))
(setq pt9 (polar pt2 hk2 750))
(setq pt10 (polar pt1 hk2 750))
(command "-layer" "m" "WL561---_CV-SYMBOOL" "C" "7" "" "")
(command "pline" pt3 "w" "100" "100" pt4 "cl")
(command "circle" pt5 "d" "60")
(command "circle" pt6 "d" "60")
(command "-layer" "m" "WL561---_CV-MAATV" "C" "1" "" "")
(command "dimaligned" pt3 pt7 "t" "45" pt8)
(command "dimaligned" pt5 pt2 "t" (+ (/ dsa 2) 25) pt9)
(command "dimaligned" pt5 pt6 "t" "35" pt9)
(setvar "OSMODE" os) ;; Restore OSNAP mode
(princ)
)
;FUNCTIES VOOR RADIATOREN TYPE 11
(defun 11L_R ()
(setq bm (getvar "blipmode"))
(setq os (getvar "osmode"))
(setq om (getvar "orthomode"))
(setvar "osmode" 2)
(setvar "blipmode" 0)
(setvar "orthomode" 1)
(setq om (getvar "orthomode"))
(setq pt1 (getpoint "\nGeef invoegpunt radiator: "))
(setvar "OSMODE" 0) ;; Restore OSNAP mode
(princ "\nGeef positie aansluiting: Links, Rechts: ")
(initget 1 "L R")
(setq prof_type (getkword ))
(cond
((equal prof_type "L") (VEHA_11L))
((equal prof_type "R") (VEHA_11R))
(T nil)
)
)
(defun VEHA_11L ()
(a_b_d_ip_alpha)
(hoeken)
(setq pt2 (polar pt1 hk4 100))
(setq pt3 (polar pt2 hk1 (/ dsa 2.0)))
(setq pt4 (polar pt3 hk3 dsa))
(setq pt5 (polar pt2 hk3 (+ (/ dsa 2.0) 50)))
(setq pt6 (polar pt5 hk3 80))
(setq pt7 (polar pt3 hk2 100))
(setq pt8 (polar pt3 hk1 150))
(setq pt9 (polar pt2 hk2 750))
(setq pt10 (polar pt1 hk2 750))
(command "-layer" "m" "WL561---_CV-SYMBOOL" "C" "7" "" "")
(command "pline" pt3 "w" "100" "100" pt4 "cl")
(command "circle" pt5 "d" "60")
(command "circle" pt6 "d" "60")
(command "-layer" "m" "WL561---_CV-MAATV" "C" "1" "" "")
(command "dimaligned" pt3 pt7 "t" "40" pt8)
(command "dimaligned" pt5 pt2 "t" (+ (/ dsa 2.0) 25) pt9)
(command "dimaligned" pt5 pt6 "t" "35" pt9)
(setvar "OSMODE" os) ;; Restore OSNAP mode
(princ)
)
(defun VEHA_11R ()
(a_b_d_ip_alpha)
(hoeken)
(setq pt2 (polar pt1 hk4 100))
(setq pt3 (polar pt2 hk3 (/ dsa 2)))
(setq pt4 (polar pt3 hk1 dsa))
(setq pt5 (polar pt2 hk1 (+ (/ dsa 2) 50)))
(setq pt6 (polar pt5 hk1 80))
(setq pt7 (polar pt3 hk2 100))
(setq pt8 (polar pt3 hk3 200))
(setq pt9 (polar pt2 hk2 750))
(setq pt10 (polar pt1 hk2 750))
(command "-layer" "m" "WL561---_CV-SYMBOOL" "C" "7" "" "")
(command "pline" pt3 "w" "100" "100" pt4 "cl")
(command "circle" pt5 "d" "60")
(command "circle" pt6 "d" "60")
(command "-layer" "m" "WL561---_CV-MAATV" "C" "1" "" "")
(command "dimaligned" pt3 pt7 "t" "40" pt8)
(command "-units")
(command "dimaligned" pt5 pt2 "t" (+ (/ dsa 2) 25) pt9)
(command "dimaligned" pt5 pt6 "t" "35" pt9)
(setvar "OSMODE" os) ;; Restore OSNAP mode
(princ)
)
;FUNCTIES VOOR RADIATOREN TYPE 20
(defun 20L_R ()
(setq bm (getvar "blipmode"))
(setq os (getvar "osmode"))
(setq om (getvar "orthomode"))
(setvar "osmode" 2)
(setvar "blipmode" 0)
(setvar "orthomode" 1)
(setq om (getvar "orthomode"))
(setq pt1 (getpoint "\nGeef invoegpunt radiator: "))
(setvar "OSMODE" 0) ;; Restore OSNAP mode
(princ "\nGeef positie aansluiting: Links, Rechts: ")
(initget 1 "L R")
(setq prof_type (getkword ))
(cond
((equal prof_type "L") (VEHA_20L))
((equal prof_type "R") (VEHA_20R))
(T nil)
)
)
(defun VEHA_20L ()
(a_b_d_ip_alpha)
(hoeken)
(setq pt2 (polar pt1 hk4 100))
(setq pt3 (polar pt2 hk1 (/ dsa 2)))
(setq pt4 (polar pt3 hk3 dsa))
(setq pt5 (polar pt2 hk3 (+ (/ dsa 2) 50)))
(setq pt6 (polar pt5 hk3 80))
(setq pt7 (polar pt3 hk2 100))
(setq pt8 (polar pt3 hk1 150))
(setq pt9 (polar pt2 hk2 750))
(setq pt10 (polar pt1 hk2 750))
(command "-layer" "m" "WL561---_CV-SYMBOOL" "C" "7" "" "")
(command "pline" pt3 "w" "100" "100" pt4 "cl")
(command "circle" pt5 "d" "60")
(command "circle" pt6 "d" "60")
(command "-layer" "m" "WL561---_CV-MAATV" "C" "1" "" "")
(command "dimaligned" pt3 pt7 "t" "60" pt8)
(command "dimaligned" pt5 pt2 "t" (+ (/ dsa 2) 25) pt9)
(command "dimaligned" pt5 pt6 "t" "35" pt9)
(setvar "OSMODE" os) ;; Restore OSNAP mode
(princ)
)
(defun VEHA_20R ()
(a_b_d_ip_alpha)
(hoeken)
(setq pt2 (polar pt1 hk4 100))
(setq pt3 (polar pt2 hk3 (/ dsa 2)))
(setq pt4 (polar pt3 hk1 dsa))
(setq pt5 (polar pt2 hk1 (+ (/ dsa 2) 50)))
(setq pt6 (polar pt5 hk1 80))
(setq pt7 (polar pt3 hk2 100))
(setq pt8 (polar pt3 hk3 200))
(setq pt9 (polar pt2 hk2 750))
(setq pt10 (polar pt1 hk2 750))
(command "-layer" "m" "WL561---_CV-SYMBOOL" "C" "7" "" "")
(command "pline" pt3 "w" "100" "100" pt4 "cl")
(command "circle" pt5 "d" "60")
(command "circle" pt6 "d" "60")
(command "-layer" "m" "WL561---_CV-MAATV" "C" "1" "" "")
(command "dimaligned" pt3 pt7 "t" "60" pt8)
(command "dimaligned" pt5 pt2 "t" (+ (/ dsa 2) 25) pt9)
(command "dimaligned" pt5 pt6 "t" "35" pt9)
(setvar "OSMODE" os) ;; Restore OSNAP mode
(princ)
)
;FUNCTIES VOOR RADIATOREN TYPE 21
(defun 21L_R ()
(setq bm (getvar "blipmode"))
(setq os (getvar "osmode"))
(setq om (getvar "orthomode"))
(setvar "osmode" 2)
(setvar "blipmode" 0)
(setvar "orthomode" 1)
(setq om (getvar "orthomode"))
(setq pt1 (getpoint "\nGeef invoegpunt radiator: "))
(setvar "OSMODE" 0) ;; Restore OSNAP mode
(princ "\nGeef positie aansluiting: Links, Rechts: ")
(initget 1 "L R")
(setq prof_type (getkword ))
(cond
((equal prof_type "L") (VEHA_21L))
((equal prof_type "R") (VEHA_21R))
(T nil)
)
)
(defun VEHA_21L ()
(a_b_d_ip_alpha)
(hoeken)
(setq pt2 (polar pt1 hk4 100))
(setq pt3 (polar pt2 hk1 (/ dsa 2)))
(setq pt4 (polar pt3 hk3 dsa))
(setq pt5 (polar pt2 hk3 (+ (/ dsa 2) 50)))
(setq pt6 (polar pt5 hk3 80))
(setq pt7 (polar pt3 hk2 100))
(setq pt8 (polar pt3 hk1 150))
(setq pt9 (polar pt2 hk2 750))
(setq pt10 (polar pt1 hk2 750))
(command "-layer" "m" "WL561---_CV-SYMBOOL" "C" "7" "" "")
(command "pline" pt3 "w" "100" "100" pt4 "cl")
(command "circle" pt5 "d" "60")
(command "circle" pt6 "d" "60")
(command "-layer" "m" "WL561---_CV-MAATV" "C" "1" "" "")
(command "dimaligned" pt3 pt7 "t" "60" pt8)
(command "dimaligned" pt5 pt2 "t" (+ (/ dsa 2) 25) pt9)
(command "dimaligned" pt5 pt6 "t" "35" pt9)
(setvar "OSMODE" os) ;; Restore OSNAP mode
(princ)
)
(defun VEHA_21R ()
(a_b_d_ip_alpha)
(hoeken)
(setq pt2 (polar pt1 hk4 100))
(setq pt3 (polar pt2 hk3 (/ dsa 2)))
(setq pt4 (polar pt3 hk1 dsa))
(setq pt5 (polar pt2 hk1 (+ (/ dsa 2) 50)))
(setq pt6 (polar pt5 hk1 80))
(setq pt7 (polar pt3 hk2 100))
(setq pt8 (polar pt3 hk3 200))
(setq pt9 (polar pt2 hk2 750))
(setq pt10 (polar pt1 hk2 750))
(command "-layer" "m" "WL561---_CV-SYMBOOL" "C" "7" "" "")
(command "pline" pt3 "w" "100" "100" pt4 "cl")
(command "circle" pt5 "d" "60")
(command "circle" pt6 "d" "60")
(command "-layer" "m" "WL561---_CV-MAATV" "C" "1" "" "")
(command "dimaligned" pt3 pt7 "t" "60" pt8)
(command "dimaligned" pt5 pt2 "t" (+ (/ dsa 2) 25) pt9)
(command "dimaligned" pt5 pt6 "t" "35" pt9)
(setvar "OSMODE" os) ;; Restore OSNAP mode
(princ)
)
;FUNCTIES VOOR RADIATOREN TYPE 22
(defun 22L_R ()
(setq bm (getvar "blipmode"))
(setq os (getvar "osmode"))
(setq om (getvar "orthomode"))
(setvar "osmode" 2)
(setvar "blipmode" 0)
(setvar "orthomode" 1)
(setq om (getvar "orthomode"))
(setq pt1 (getpoint "\nGeef invoegpunt radiator: "))
(setvar "OSMODE" 0) ;; Restore OSNAP mode
(princ "\nGeef positie aansluiting: Links, Rechts: ")
(initget 1 "L R")
(setq prof_type (getkword ))
(cond
((equal prof_type "L") (VEHA_22L))
((equal prof_type "R") (VEHA_22R))
(T nil)
)
)
(defun VEHA_22L ()
(a_b_d_ip_alpha)
(hoeken)
(setq pt2 (polar pt1 hk4 100))
(setq pt3 (polar pt2 hk1 (/ dsa 2)))
(setq pt4 (polar pt3 hk3 dsa))
(setq pt5 (polar pt2 hk3 (+ (/ dsa 2) 50)))
(setq pt6 (polar pt5 hk3 80))
(setq pt7 (polar pt3 hk2 100))
(setq pt8 (polar pt3 hk1 150))
(setq pt9 (polar pt2 hk2 750))
(setq pt10 (polar pt1 hk2 750))
(command "-layer" "m" "WL561---_CV-SYMBOOL" "C" "7" "" "")
(command "pline" pt3 "w" "100" "100" pt4 "cl")
(command "circle" pt5 "d" "60")
(command "circle" pt6 "d" "60")
(command "-layer" "m" "WL561---_CV-MAATV" "C" "1" "" "")
(command "dimaligned" pt3 pt7 "t" "80" pt8)
(command "dimaligned" pt5 pt2 "t" (+ (/ dsa 2) 25) pt9)
(command "dimaligned" pt5 pt6 "t" "35" pt9)
(setvar "OSMODE" os) ;; Restore OSNAP mode
(princ)
)
(defun VEHA_22R ()
(a_b_d_ip_alpha)
(hoeken)
(setq pt2 (polar pt1 hk4 100))
(setq pt3 (polar pt2 hk3 (/ dsa 2)))
(setq pt4 (polar pt3 hk1 dsa))
(setq pt5 (polar pt2 hk1 (+ (/ dsa 2) 50)))
(setq pt6 (polar pt5 hk1 80))
(setq pt7 (polar pt3 hk2 100))
(setq pt8 (polar pt3 hk3 200))
(setq pt9 (polar pt2 hk2 750))
(setq pt10 (polar pt1 hk2 750))
(command "-layer" "m" "WL561---_CV-SYMBOOL" "C" "7" "" "")
(command "pline" pt3 "w" "100" "100" pt4 "cl")
(command "circle" pt5 "d" "60")
(command "circle" pt6 "d" "60")
(command "-layer" "m" "WL561---_CV-MAATV" "C" "1" "" "")
(command "dimaligned" pt3 pt7 "t" "80" pt8)
(command "dimaligned" pt5 pt2 "t" (+ (/ dsa 2) 25) pt9)
(command "dimaligned" pt5 pt6 "t" "35" pt9)
(setvar "OSMODE" os) ;; Restore OSNAP mode
(princ)
)
;FUNCTIES VOOR RADIATOREN TYPE 33
(defun 33L_R ()
(setq bm (getvar "blipmode"))
(setq os (getvar "osmode"))
(setq om (getvar "orthomode"))
(setvar "osmode" 2)
(setvar "blipmode" 0)
(setvar "orthomode" 1)
(setq om (getvar "orthomode"))
(setq pt1 (getpoint "\nGeef invoegpunt radiator: "))
(setvar "OSMODE" 0) ;; Restore OSNAP mode
(princ "\nGeef positie aansluiting: Links, Rechts: ")
(initget 1 "L R")
(setq prof_type (getkword ))
(cond
((equal prof_type "L") (VEHA_33L))
((equal prof_type "R") (VEHA_33R))
(T nil)
)
)
(defun VEHA_33L ()
(a_b_d_ip_alpha)
(hoeken)
(setq pt2 (polar pt1 hk4 100))
(setq pt3 (polar pt2 hk1 (/ dsa 2)))
(setq pt4 (polar pt3 hk3 dsa))
(setq pt5 (polar pt2 hk3 (+ (/ dsa 2) 50)))
(setq pt6 (polar pt5 hk3 80))
(setq pt7 (polar pt3 hk2 100))
(setq pt8 (polar pt3 hk1 150))
(setq pt9 (polar pt2 hk2 750))
(setq pt10 (polar pt1 hk2 750))
(command "-layer" "m" "WL561---_CV-SYMBOOL" "C" "7" "" "")
(command "pline" pt3 "w" "100" "100" pt4 "cl")
(command "circle" pt5 "d" "60")
(command "circle" pt6 "d" "60")
(command "-layer" "m" "WL561---_CV-MAATV" "C" "1" "" "")
(command "dimaligned" pt3 pt7 "t" "80" pt8)
(command "dimaligned" pt5 pt2 "t" (+ (/ dsa 2) 25) pt9)
(command "dimaligned" pt5 pt6 "t" "35" pt9)
(setvar "OSMODE" os) ;; Restore OSNAP mode
(princ)
)
(defun VEHA_33R ()
(a_b_d_ip_alpha)
(hoeken)
(setq pt2 (polar pt1 hk4 100))
(setq pt3 (polar pt2 hk3 (/ dsa 2)))
(setq pt4 (polar pt3 hk1 dsa))
(setq pt5 (polar pt2 hk1 (+ (/ dsa 2) 50)))
(setq pt6 (polar pt5 hk1 80))
(setq pt7 (polar pt3 hk2 100))
(setq pt8 (polar pt3 hk3 200))
(setq pt9 (polar pt2 hk2 750))
(setq pt10 (polar pt1 hk2 750))
(command "-layer" "m" "WL561---_CV-SYMBOOL" "C" "7" "" "")
(command "pline" pt3 "w" "100" "100" pt4 "cl")
(command "circle" pt5 "d" "60")
(command "circle" pt6 "d" "60")
(command "-layer" "m" "WL561---_CV-MAATV" "C" "1" "" "")
(command "dimaligned" pt3 pt7 "t" "80" pt8)
(command "dimaligned" pt5 pt2 "t" (+ (/ dsa 2) 25) pt9)
(command "dimaligned" pt5 pt6 "t" "35" pt9)
(setvar "OSMODE" os) ;; Restore OSNAP mode
(princ)
)
(rtos nummer 2 0)
Wat betreft die RTOS:
Citeer
(rtos number [mode [precision]])
The rtos function returns a string that is the representation of number according to the settings of mode, precision, and the system variables UNITMODE, DIMZIN, LUNITS, and LUPREC.
Arguments
number
A number.
mode
An integer specifying the linear units mode. The mode corresponds to the values allowed for the LUNITS AutoCAD system variable. The mode can be one of the following numbers:
1 Scientific
2 Decimal
3 Engineering (feet and decimal inches)
4 Architectural (feet and fractional inches)
5 Fractional
precision
An integer specifying the precision.
0 cijfers na da comma
(rtos nummer 2 0)
Maw, op de plaats van nummer vult gij uw verkregen waarde in.
Hopelijk ben je hier iets mee. :wink:
Kenny
Ik heb even uw programma bekeken en ik denk dat je dit nodig hebt/moet toevoegen.
(setq dsa (rtos dsa 2 0) )
(setq dsa (atoi dsa))
Ik denk dat uw probleem nu is opgelost
Prettig weekend en graag gedaan
Kenny
Kenny H, inderdaad het werkt prima! Bedankt!
De nullen zijn verdwenen.
Citaat van: DnerebBen er mee aan het stoeien om een voorbeeld je te maken...
Julien,
is er een mogelijkheid om dat te attachen/te up loaden?
Ik denk dat er wel meer mensen geintresseerd zijn in het uitlezen van een access database vanuit Acad.
Dit is wat ik ontvangen heb:
http://www.cadsite.be/VBA/