CADsite

  • vr 09 12 2022, 23:39:49
  • Welkom, gast
Log in of registreer jezelf.

Login met gebruikersnaam, wachtwoord en sessielengte
Geavanceerd zoeken  

Nieuws:

Toon bijdragen

Deze sectie stelt je in staat om alle bijdragen van dit lid te bekijken. Je kunt alleen de bijdragen zien waar je op dit moment toegang toe hebt.

Berichten - roy_043

Pagina's: 1 ... 96 97 [98]
1456
AutoCAD links / Re:Handig?
« Gepost op: ma 11 05 2009, 13:49:10 »
Beste Rene,

Fijn dat je jouw lisp-functies wilt delen! De filmpjes zijn leuk maar soms is een leesmij.txt handiger.

Mijn ervaringen met jouw downloads:
  • SCC.lsp
    Not Found. Niet getest.
  • Layers and Holes
    GlobalLispConfig.txt zit niet in de zip. Niet Getest.
  • dilute.lsp
    Werkt (op Bricscad 7) maar is een vreemde functie. De gebruiker heeft geen controle over welke elementen worden gewist. Dit is zowel afhankelijk van de selectievolgorde als de tekenvolgorde.
  • ea.lsp
     :vreegoe: Werkt (op Bricscad 7) en is zeer interessant. Jammer dat er maar 8 attributen kunnen worden ingevoerd.

Groet, Roy.

1457
AutoCAD links / gratis progeCAD eBooks
« Gepost op: di 05 05 2009, 17:59:41 »
2 gratis boeken (pdf) over progeCAD.
Veel v.d. info zal ook geschikt zijn voor AutoCAD.
De boeken zijn in het engels.

Citaat
Two new amazing eBooks by Ralph Grabowski free available to familiarize with progeCAD and customize it:

Inside progeCAD
Tailoring progeCAD

1458
Autolisp / Re:ucsfollow op 1 zetten met lisp (Opgelost)
« Gepost op: di 05 05 2009, 11:03:31 »

Citaat van: HofCAD
De arguments zijn de globale variabelen

Beste HofCAD,

Argumenten en globale variabelen zijn verschillende dingen.

In jouw code:
...
(setq a 1)
;zet de globale variabele a op 1
(setq b 2)
;zet de globale variabele b op 2
(sym1 a b); Of (sym1 1 2)
;voer sym1 uit
...
stel je de globale variabelen a en b in, en deze geef je als argumenten mee aan de functie sym1. Maar, zoals jijzelf al in het commentaar aangeeft, argumenten hoeven geen globale variabelen te zijn:
...; Of (sym1 1 2)
Je gebruikt hier namelijk niet de globale variabelen a en b maar de getallen 1 en 2 als argumenten. Deze getallen hebben niets met de ingestelde globale variabelen van doen. Want dit werkt bijvoorbeeld ook:
(sym1 6 9)

En als je een argument meegeeft aan een functie dan wordt het evenmin vanzelf een globale variabele.

Groet, Roy.

1459
Autolisp / Re: Autocad 10 consp 0.0 error
« Gepost op: zo 03 05 2009, 17:30:00 »
Beste netadmin,

Jouw probleem wordt veroorzaakt door de LISP-code. Deze sluit blijkbaar niet aan bij de volgorde van de entity-data in de laatste versie van AutoCAD.

In de code wordt gebruik gemaakt van nth. Hiermee wordt verwezen naar een bepaalde plaats in de lijst met entity-data. (nth 14 eerstvolgende) verwijst naar het 15e element in de lijst eerstvolgende. Per versie van AutoCAD zal de volgorde van de elementen in de lijst met entity-data variëren. Uit de code blijkt dat dit probleem al eens eerder aan de orde is geweest:

(setq punt1 (cdr (nth 14 eerstvolgende)))
(if (= punt1 0.0)
(setq punt1 (cdr (nth 15 eerstvolgende)))
)

Je zou de code nu op dezelfde manier kunnen aanpassen:

(setq punt1 (cdr (nth 14 eerstvolgende)))
(if (= punt1 0.0)
(setq punt1 (cdr (nth 15 eerstvolgende)))
)
(if (= punt1 0.0)
(setq punt1 (cdr (nth xx eerstvolgende))) ; "nth xx" staat voor de plaats van een hoekpunt in AC2010
)

Maar het is verstandiger om de code zodanig aan te passen dat de volgorde van de lijst met entity-data niets meer uitmaakt:

(defun STM-ENTLIST-FILTER (entLst filterLst / a entLstItem filterLstItem lstIn lstOut)
(foreach entLstItem entLst
(setq a (car entLstItem))
(foreach filterLstItem filterLst
(if (= a filterLstItem)
(setq
lstIn (append lstIn (list entLstItem))
entLstItem nil
)
)
)
(if entLstItem
(setq lstOut (append lstOut (list entLstItem)))
)
)
(list lstIn lstOut)
)

(defun GetPlinePoints (entLst /)
(car (STM-ENTLIST-FILTER entLst '(10)))
)

(defun c:GL () (c:GetList))
(defun c:GetList (/ entName entLst a)
(setq entName (car (entsel "\nSelect entity: ")))
(setq entLst (entget entName))
(textscr)
(foreach a entLst
(print a)
)
(princ)
)

(defun C:4250 ()
;automatisch printen naar printer 4250n
(setq p1 (getpoint "\n Geef eerste punt: "))
(setq p2 (getpoint "\n geef tweede punt: "))
(setq obj1 (ssget "w" p1 p2))
(setq count 0)
(if (/= obj1 nil)
(while (< count (sslength obj1))
(setq eerstvolgende (entget (ssname obj1 count)))
(setq wat (cdr (assoc 0 eerstvolgende)))
(setq layer (cdr (assoc 8 eerstvolgende)))
(if (and (= wat "LWPOLYLINE") (= layer "_kader A4"))
(progn
(setq puntenVanPolylijn (GetPlinePoints eerstvolgende))
(setq punt1 (cdr (nth 0 puntenVanPolylijn)))
(setq punt2 (cdr (nth 2 puntenVanPolylijn)))
(setq hoogte (abs (- (car punt1) (car punt2))))
(setq breedte (abs (- (cadr punt1) (cadr punt2))))
(if (< hoogte breedte)
(setq liggend "Portrait")
(setq liggend "Landscape")
)
;(command "ltscale" "1")
(command "plot" "y" "" "\\\\Server\062\\HP\040Laserjet\0404250N" "A4" "" liggend "" "w" punt1 punt2 "" "" "" "firmanaam.ctb" "" "" "" "y" "y")
;(command "ltscale" "10")
)
)
(setq count (1+ count))
)
)
(princ)
)

De voorafgaande code bevat 4 functies:

- STM-ENTLIST-FILTER:
Algemene filterfunctie.

- GetPlinePoints:
Deze functie roept STM-ENTLIST-FILTER aan en retourneert een lijst met alleen de hoekpunten van de polylijn.

- GetList (ook beschikbaar als GL):
Deze functie geeft de lijst met entity-data van een gekozen element op het scherm weer. Gebruik deze functie om de entity-data van een polylijn in AC2009 en AC2010 te vergelijken. Je zult zien dat de volgorde van de lijst verschilt. Deze functie is niet noodzakelijk voor het functioneren van 4250

- 4250:
Dit is een aangepaste versie van jouw code. Voor het functioneren van deze versie zijn de functies STM-ENTLIST-FILTER en GetPlinePoints noodzakelijk.

Ik hoop dat het zo werkt (ik kan dit zelf niet controleren omdat ik Bricscad 7 gebruik).

Groet, Roy.

1460
AutoCAD probleem / Re: geen goede hatch (gravel) bij kleine schaal
« Gepost op: di 21 04 2009, 11:06:15 »
Als Bart het heeft over de oorsprong van de arcering dan bedoelt hij de SNAPBASE. De SNAPBASE ligt standaard op de oorsprong van de tekening. Als het vlak dat je wilt arceren zich zeer ver van de oorsprong en de SNAPBASE bevindt dan kunnen arceringen er verkeerd uitzien. De oplossing is dan om de SNAPBASE te verplaatsen naar een punt dichter bij (of binnen) het te arceren vlak. De arcering moet daarna worden geupdate of opnieuw geplaatst.
Als dit niet helpt voeg dan eens een tekening toe aan je bericht.

1461
AutoCAD links / Re: HPmenu
« Gepost op: do 16 04 2009, 16:03:34 »
Dit is interessant. Ik ben HPmenu een beetje aan het uittesten op Bricscad 7. Omdat de help niet volledig is (veel commando's worden niet omschreven) en er weinig commentaar staat in HPmenu.lsp is dit niet gemakkelijk.
Hierbij alvast twee vragen:
1.
Waarvoor wordt functie 9a gebruikt (omzetten van polylijnen)?
2.
En waarom is deze functie anders dan bijvoorbeeld 9c?

1462
Het is mogelijk om zelf arceerpatronen te maken voor AutoCad en Bricscad. Maar zelfs voor eenvoudige arceerpatronen, zoals patronen in tegelverband en halfsteensverband, geldt dat dit niet gemakkelijk is. Voor deze standaardpatronen is de online PatGenerator ontwikkeld.
http://www.b-k-g.nl/diversen-PatGenerator.html

Pagina's: 1 ... 96 97 [98]