Hallo :!:
Een vraagje,
ik ben leerkracht houtbewerking en zou voor het berekenen van ramen een excel file schrijven. Zou het mogenlijk zijn dat ik aan de hand van deze gegevens AutoCad onmiddelijk deze gegevens laat omzetten in een tekening (door vb gebruik te maken van blocks, ....
Heb zeer weinig ervaring met VBA
:oops:
Ja dat is mogelijk......met redelijk wat kennis van VBA
en.....
Waarschijnlijk is Access een betere keuze om de gegevens in op te slaan als Excel.
Je vermeld dat je weinig kennis van VBA hebt.....Hoe zit het met je Lisp?
de access database is op te zetten zonder veel VBA kennis.
En in Lost In Stupid Parenthesis kan je ook data ophalen vanuit Excel of Access. :wink:
Mijn hulp daarbij kan je vergeten want ik ben gellukkig Illisparate. :roll:
(Ik weet zeker dat Kenny reageert.) :roll:
HmmzZ....
Dnereb, je zakt in mijn achting.....
Citaat van: Dnereb
Mijn hulp daarbij kan je vergeten want ik ben gellukkig Illisparate. :roll:
(Ik weet zeker dat Kenny reageert.) :roll:
:lachen: :lachen: :lachen: :lachen: :lachen: :lachen: :lachen: :lachen:
Wat wil je nu dat ik hier op zeg, berend :?: :duivel1:
Dat vraagt gewoon een lispfile om te tonen dat het ook met ( volgens u idiote) lisp gaat :!: :duivel1:
Ik heb momenteel pas werk en heb daardoor minder tijd om hier andere te helpen :evil: :cry:
Zoals je zal zien aan de tijden van de posts, heb ik mij even voorbereid vooralleer hier iets te posten. :lol:
Citeer;;;
,,,
open
afmetingen.dwg
;;;
;;;
(defun c:hor-doorsnede ()
(graphscr)
(command "erase" "all" "")
(command "view" "o" "top")
(command "ucs" "w")
(command "script" "afmetingen.scr")
(command "insert" "muurhwbl" "1080,400" "1" "1" "0")
(command "insert" "muurvwbb" "600,625" "1" "1" "0")
(command "zoom" "all")
(command "layer" "m" "horizontale snede" "c" "7" "" "")
(setvar "gridmode" 0)
(setvar "snapmode" 0)
(setvar "osmode" 1)
(setq ldb-inserteerpunt
(getpoint "\nGeef linkerkant van de dagbreedte op aub:")
)
(command
"insert" "*linker hor" ldb-inserteerpunt "1" "1" "0")
;;; (command "zoom" "all")
;;; (command "explode" "last" "") is hier niet nodig door de * voor de blocknaam.
(setq db (getdist ldb-inserteerpunt
"\nGeef de dagbreedte op in mm aub:"
)
)
(if (or (<= db 0) (= db nil))
(progn
(alert
"Opgelet !!!
\nDe dagbreedte MOET GROTER zijn dan 0,
\ner moet een waarde groter dan 0 worden ingegeven.
\nKlik op ok."
)
(setq db
(getdist ldb-inserteerpunt
"\nGeef een nieuwe dagbreedte op in mm aub:"
)
)
)
)
(if (<= db 1510)
(progn
(setq rdb-inserteerpunt
(list (+ (car ldb-inserteerpunt) db)
(+ (cadr ldb-inserteerpunt) 0)
(+ (caddr ldb-inserteerpunt) 0)
)
)
(command "insert"
"muurhwbr"
(list (- (car rdb-inserteerpunt) 120)
(- (cadr rdb-inserteerpunt) 170)
(+ (caddr rdb-inserteerpunt) 0)
)
"1"
"1"
"0"
)
)
)
(if (> db 1510)
(progn
(setq db 1510)
(setq rdb-inserteerpunt
(list (+ (car ldb-inserteerpunt) db)
(+ (cadr ldb-inserteerpunt) 0)
(+ (caddr ldb-inserteerpunt) 0)
)
)
(command "insert"
"muurhwbr"
(list (- (car rdb-inserteerpunt) 120)
(- (cadr rdb-inserteerpunt) 170)
(+ (caddr rdb-inserteerpunt) 0)
)
"1"
"1"
"0"
)
)
)
(setvar "osmode" 0)
(command "zoom" "e")
(setq midden-db (list (+ (car ldb-inserteerpunt) (/ db 2))
(cadr ldb-inserteerpunt)
(caddr ldb-inserteerpunt)
)
)
(setq midden-ongepaarde-zijde
(list (car midden-db)
(- (cadr midden-db) 8 )
(caddr midden-db)
)
)
(command "line"
(list (- (car midden-ongepaarde-zijde) 50)
(cadr midden-ongepaarde-zijde)
(caddr midden-ongepaarde-zijde)
)
"@50<0"
""
)
(command "copy" "last" "" midden-ongepaarde-zijde "@1.21407400<270")
(command "copy" "last"
"" midden-ongepaarde-zijde
"@12.78592600<270"
)
(command "copy" "last" "" midden-ongepaarde-zijde "@1<270")
(setq selectie-links
(ssget "w"
(list (- (car ldb-inserteerpunt) 50)
(- (cadr ldb-inserteerpunt) 70)
(caddr ldb-inserteerpunt)
)
(list (+ (car ldb-inserteerpunt) 45)
(cadr ldb-inserteerpunt)
(caddr ldb-inserteerpunt)
)
)
)
(setq selectie-midden-links
(ssget "c"
midden-db
(list (- (car midden-db) 60)
(- (cadr midden-db) 30)
(caddr midden-db)
)
)
)
(command "extend" selectie-links "" selectie-midden-links "")
(command "layer" "s" "horizontale snede" "")
(setq selectie-links-kozijn
(ssget "w"
(list (- (car ldb-inserteerpunt) 50)
(- (cadr ldb-inserteerpunt) 70)
(caddr ldb-inserteerpunt)
)
(list (+ (car ldb-inserteerpunt) 45)
(cadr ldb-inserteerpunt)
(caddr ldb-inserteerpunt)
)
)
)
(command "hatch" "u" "45" "4"
"n" selectie-links-kozijn ""
""
)
(setq selectie-links-vleugel
(ssget "c"
(list (+ (car ldb-inserteerpunt) 50)
(- (cadr ldb-inserteerpunt) 70)
(caddr ldb-inserteerpunt)
)
(list (+ (car ldb-inserteerpunt) 20)
(- (cadr ldb-inserteerpunt) 90)
(caddr ldb-inserteerpunt)
)
)
)
(command "hatch" "u" "135" "3"
"n" selectie-links-vleugel ""
""
)
(setq selectie-links-glaslat
(ssget "w"
(list (+ (car ldb-inserteerpunt) 85)
(- (cadr ldb-inserteerpunt) 60)
(caddr ldb-inserteerpunt)
)
(list (+ (car ldb-inserteerpunt) 60)
(- (cadr ldb-inserteerpunt) 90)
(caddr ldb-inserteerpunt)
)
)
)
(command "hatch" "u" "45" "2"
"n" selectie-links-glaslat ""
""
)
(setq selectie-spiegel
(ssget "w"
(list (- (car ldb-inserteerpunt) 60)
(- (cadr ldb-inserteerpunt) 90)
(caddr ldb-inserteerpunt)
)
(list (+ (car ldb-inserteerpunt) (/ db 2))
(cadr ldb-inserteerpunt)
(caddr ldb-inserteerpunt)
)
)
)
(command "mirror" selectie-spiegel ""
midden-ongepaarde-zijde midden-db
""
)
(command "zoom" "e")
(command "layer" "m" "glas" "c" "1" "" "")
(setq begin-glas
(list (+ (car ldb-inserteerpunt) 68 )
(- (cadr ldb-inserteerpunt) 46)
(caddr ldb-inserteerpunt)
)
)
(setq einde-glas
(list (- (car rdb-inserteerpunt) 68 )
(- (cadr rdb-inserteerpunt) 42)
(caddr rdb-inserteerpunt)
)
)
(command "rectangle" begin-glas einde-glas)
(command "copy" "last" "" begin-glas "@16<270")
(command "rectangle" begin-glas "@12,-12")
(command "mirror" "last" ""
midden-ongepaarde-zijde midden-db
""
)
(command "layer" "m" "afmetingen" "c" "1" "" "")
(command "dimaligned"
(list (car begin-glas)
(+ (cadr begin-glas) 4)
(caddr begin-glas)
)
einde-glas
(list (car begin-glas)
(+ (cadr begin-glas) 50)
(caddr begin-glas)
)
)
(command "dimaligned"
(list (car ldb-inserteerpunt)
(cadr ldb-inserteerpunt)
)
rdb-inserteerpunt
(list (car ldb-inserteerpunt)
(+ (cadr ldb-inserteerpunt) 25)
)
)
(command "dimaligned"
(list (+ (car ldb-inserteerpunt) 2)
(- (cadr ldb-inserteerpunt) 78 )
)
(list (- (car rdb-inserteerpunt) 2)
(- (cadr ldb-inserteerpunt) 78 )
)
(list (car ldb-inserteerpunt)
(- (cadr ldb-inserteerpunt) 90)
)
)
(command "dimaligned"
(list (- (car ldb-inserteerpunt) 40)
(- (cadr ldb-inserteerpunt) 63)
)
(list (+ (car rdb-inserteerpunt) 40)
(- (cadr ldb-inserteerpunt) 63)
)
(list (car ldb-inserteerpunt)
(- (cadr ldb-inserteerpunt) 110)
)
)
(setvar "osmode" 1)
(setq bdh-inserteerpunt
(getpoint "\nGeef bovenzijde van de daghoogte op aub:")
)
(command
"-insert" "*rechter hor" bdh-inserteerpunt "1" "1" "90" )
(command "explode" "last" "")
(setq dh (getdist bdh-inserteerpunt
"\nGeef de daghoogte op in mm aub:"
)
)
(if (or (<= dh 0) (= dh nil))
(progn
(alert
"Opgelet !!!
\nDe daghoogte MOET GROTER zijn dan 0,
\ner moet een waarde groter dan 0 worden ingegeven.
\nKlik op ok."
)
(setq dh
(getdist bdh-inserteerpunt
"\nGeef een nieuwe daghoogte op in mm aub:"
)
)
)
)
(setq odh-inserteerpunt
(list (car bdh-inserteerpunt)
(- (cadr bdh-inserteerpunt) dh)
)
)
(command "insert"
"muurvwbo"
(list (+ (car odh-inserteerpunt) 170)
(+ (cadr odh-inserteerpunt) 189)
)
"1"
"1"
"0"
)
(command "insert" "onder vert" odh-inserteerpunt "1" "1" "90")
(command "zoom" "all")
(command "explode" "last" "")
(setq begin-glas-on
(list (+ (car odh-inserteerpunt) 42)
(+ (cadr odh-inserteerpunt) 108 )
)
)
(setq einde-glas-bo
(list (+ (car bdh-inserteerpunt) 46)
(- (cadr bdh-inserteerpunt) 68 )
)
)
(setvar "osmode" 0)
(command "-layer" "set" "glas" "")
(command "rectangle" begin-glas-on einde-glas-bo)
(command "copy" "last" "" begin-glas-on "@16,0")
(command "rectangle" einde-glas-bo "@12,-12")
(setq glashoogtehelft
(list (car begin-glas-on)
(- (cadr einde-glas-bo)
(/ (- (cadr einde-glas-bo) (cadr begin-glas-on)) 2)
)
)
)
(command "mirror" "last" "" glashoogtehelft "@12,0" "n")
(command "layer" "new" "verticale snede"
"color" "7" "" "set"
"verticale snede" ""
)
(setq selectie-onder-vleugel
(list (+ (car odh-inserteerpunt) 78 )
(+ (cadr odh-inserteerpunt) 42)
)
)
(command "-bhatch" "p" "u" "45"
"3" "n" "s" selectie-onder-vleugel
"" ""
)
(setq selectie-onder-kozijn
(list (+ (car odh-inserteerpunt) 8 )
(+ (cadr odh-inserteerpunt) 3)
)
)
(command "-bhatch" "p" "u" "135" "3"
"n" "s" selectie-onder-kozijn ""
""
)
(setq selectie-onder-glaslat
(list (+ (car odh-inserteerpunt) 81)
(+ (cadr odh-inserteerpunt) 116)
)
)
(command "-bhatch" "p" "u" "135" "3"
"n" "s" selectie-onder-glaslat ""
""
)
(setq selectie-boven-vleugel
(list (+ (car bdh-inserteerpunt) 78 )
(- (cadr bdh-inserteerpunt) 2)
)
)
(command "-bhatch" "p" "u" "45"
"3" "n" "s" selectie-boven-vleugel
"" ""
)
(setq selectie-boven-kozijn
(list (+ (car bdh-inserteerpunt) 63)
(+ (cadr bdh-inserteerpunt) 40)
)
)
(command "-bhatch" "p" "u" "135" "3"
"n" "s" selectie-boven-kozijn ""
""
)
(setq selectie-boven-glaslat
(list (+ (car bdh-inserteerpunt) 81)
(- (cadr bdh-inserteerpunt) 75)
)
)
(command "-bhatch" "p" "u" "135" "3"
"n" "s" selectie-boven-glaslat ""
""
)
(command "-layer" "set" "afmetingen" "")
(command "dimaligned"
(list (car selectie-boven-vleugel)
(cadr selectie-boven-vleugel)
)
(list (car selectie-onder-vleugel)
(cadr selectie-onder-vleugel)
)
(list (+ (car selectie-boven-vleugel) 25)
(cadr selectie-boven-vleugel)
)
)
(command "dimaligned"
(list (car bdh-inserteerpunt)
(cadr bdh-inserteerpunt)
)
(list (car odh-inserteerpunt)
(cadr odh-inserteerpunt)
)
(list (- (car bdh-inserteerpunt) 25)
(cadr bdh-inserteerpunt)
)
)
(command "dimaligned"
(list (+ (car begin-glas-on) 20)
(cadr begin-glas-on)
)
(list (+ (car einde-glas-bo) 16)
(cadr einde-glas-bo)
)
(list (+ (car begin-glas-on) 50)
(cadr begin-glas-on)
)
)
(princ)
)
Als je de wblocks wil hebben moet je het mij maar vragen. :wink:
kenny.habils@skynet.be
Ik zal pas laat kunnen antwoorden omdat ik morgen nog een info avond heb in Gent.
Maw vrijdag of zaterdag heb je antwoord.
Voor degene die commentaar hebben op mijn programeerwijze het volgende:
Dit komt nog uit mijn STUDEERPERIODE, maw net 1 jaar geleden heb ik dit geschreven, dit was dus gewoon een oefening :!:
Ik gebruik excel niet in deze lisp.
Alle maten worden gegeven in de tekening.
Deze kun je dan met een andere lisp exporteren naar excel.
Dat zal hier wel ergens te vinden zijn. :wink:
Hopelijk ben je hier iets mee.
MVG
Kenny
*****
Edit:
Effe die 8) omgezet in 8 )
@ Julien, kun je dit niet afzetten :?:
*****
Ik ben toch véél te braaf om hier even mijn kennis weg te geven.
Ik zou beter stoppen met antwoorden te geven/ lisp te schrijven / mijn kennis doorgeven enz.
En zeggen dat voor hetzelfde werk personen betaald worden. :duivel1:
Daarom wie geld wil storten, als dank, mag mij contacteren :!: :lachen: :lachen: :lachen:
En aan al de andere die hier enkel posten dat we zullen helpen.
Help die persoon dan door een VOORBEELD te geven.
Zo help je iemand :!: :!: :!: :!: :!:
Niet door te zeggen we zullen helpen.
Ik weet ook dat er hier gebruikers zijn dat enkel met onze kennis gaan lopen en daar dan mee stoefen op het werk.
Maar als ze iets moeten aanpassen, dan lukt het hen niet.
Er zijn hier dan ook veel gebruikers die alles lezen en dingen uitproberen.
Wat ik trouwens ook doe. En dat vind ik de beste manier om zaken aan te leren.
Er zijn een aantal functies die ik nooit gebruik, ik weet dan ook niet meteen wat die doen, als er hier iemand een probeleem mee heeft.
Tot zover mijn offtopic gaan.
Sorry mods
Kenny
Ik had niet verwacht dat iemand enige achting voor mij had dus zelf in achting dalen is al een compliment.
Verder, en dit meen ik, vind ik het wel doe moeite waard om een paar goede voorbeelden te maken om data uit te lezen van Access/Excel
en weg te schrijven vanuit Acad.
Maar dan moet er wel een goede plaats zijn om die te plaatsen gelijk de lisp downloads.
Ik heb namelijk geen zin om een paar uur te klooien om later te merken dat dat werk na 2 maanden diep in de krochten van een forum in vergetelheid raakt.
O en webracer ik twijfelde tussen jouw naam en kenny in mijn eerste post.
Verder vraag ik mij af of Magictom wel iets van Lisp weet of er mee kan.
Kenny die 8 ) dat automatisch een 8)
wordt kan je afzetten door iets boven de OK knop 'Schakel Smilies uit in dit bericht' aan te vinken.
BTW, ik duld geen betalingen (behalve als ik mee deel in de koek). :twisted:
hallo,
ik heb een basis lisp en ben opnieuw begonnen mij te verdiepen in het programma!
en het voorbeeld is een schitterend voorbeeld,
alvast bedankt Kenny
:P
@Tom,
Graag gedaan :wink:
@ julien,
Jij krijgt ook een deel, 1/3 goed voor u :?: :lachen:
Ik weet ook wel dat dit op vrijwillige basis is om hier te antwoorden.
MVG
Kenny