Wie weet hoe ik deze 2 lisp samen tot 1 kan maken.
Beste balletje23,
Omdat Babe maar één lisp-functie per tekening aanroept kunt je twee dingen doen:
1.
Plak de beide functies aan elkaar en maak één nieuwe functie. Werkwijze:
(defun c:DoIt ( / )
Coderegel functie 1
Coderegel functie 1
Coderegel functie 1
Coderegel functie 1
....
Coderegel functie 2
Coderegel functie 2
Coderegel functie 2
Coderegel functie 2
....
) ;_ end of defun
2.
Maak een nieuwe functie die de bestaande lisp-functies aanroept:
(defun c:DoIt ( / )
(load "d:/bKG_tmp/20090702/Babe1.lsp")
(c:DoIt)
(load "d:/bKG_tmp/20090702/Babe2.lsp")
(c:DoIt)
)
(De paden en namen moeten vanzelfsprekend aangepast worden. Let op de stand van de slash...)
Groet, Roy.
optie (.1) heb ik al een keer geprobeert de code van model werkt alleen.
De layout wil hij niet veranderen.
optie (2.) lijkt me niet handig omdat ik niet extra handelingen wil verrichten dus vandaar 2x lsp naar 1lsp.
Beste balletje23,
Post a.u.b. jouw combinatie-lisp.
Groet, Roy.
Heb verschillende code verwijdert van de model zoals
) ;_ end of defun
(om de proces door te lopen naar layout)maar..
in de model wordt de instelling van printer wel aangepast, maar de layout instelling niet.
OK, ik ben er weer na een tijdje plat liggen. :roll:
Het probleem is het activeren van elke layout zodat de extents gemeten kunnen worden.
Ik heb dit opgelost met Visual Lisp.
Hier is dus versie 3.
Ik hoop dat het werkt want ik kan het nu niet goed testen.
Joop, ik krijg dan het volgende melding:
Command: (load "C:/Program Files/20/BB/lisp/babe-layout_V3.lsp") syntax error
Command: DoIt Unknown command "DOIT". Press F1 for help.
Citaat van: balletje23 op vr 03 07 2009, 10:22:13
Joop, ik krijg dan het volgende melding:
Command: (load "C:/Program Files/20/BB/lisp/babe-layout_V3.lsp") syntax error
Command: DoIt Unknown command "DOIT". Press F1 for help.
Als je bij het laden een syntax error krijgt stopt Lisp met het laden van de routine en kent hij het nieuwe commando (DoIt) dus niet.
Door mijn gebrek aan testen heb ik niet gemerkt dat ik bij de if functie wat vergeten ben.
In het bijgevoegd bestand is het opgelost.
heb de volgende fout melding
Specify corner of window, enter a scale factor (nX or nXP), or
[All/Center/Dynamic/Extents/Previous/Scale/Window/Object] <real time>: 0.5
Command: zoom
Specify corner of window, enter a scale factor (nX or nXP), or
[All/Center/Dynamic/Extents/Previous/Scale/Window/Object] <real time>: e
Command: (load "C:/Program Files/20/BB/lisp/babe-layout_V3.1.lsp") C:DOIT
Command: DoIt Regenerating layout.
"Now plotting layout: E2020001" Regenerating model.
"Now plotting layout: Model" Unknown command "Y". Press F1 for help.
Unknown command "N". Press F1 for help.
bad argument type: VLA-OBJECT nil
volgens mij ligt dit aan het plot commando
als je -plot intypt, en dan alle commando's overloopt dan zal er ergens een vraag zijn waarop Y geantwoord word, terwijl dit niet kan.....
Beste balletje23,
De laatste versie van babe-layout_V3.lsp zoals gepost door Joop bevat het volgende principe:
(if (/= layout_name "Model")
(progn
...
(setq str (strcat "Now plotting layout: " layout_name))
(print str)
...
(command
...
)
)
)
Dus de model-tab zou niet bewerkt mogen worden.
Er zijn twee mogelijkheden waarom dit toch kan gebeuren:
1.
De regel:
(if (/= layout_name "Model")
Moet vervangen worden door:
(if (/= (strcase layout_name) "MODEL")
2.
Jij werkt met een andere/aangepaste lisp.
Er moet voor het -plot-commando een onderscheid worden gemaakt tussen de model-tab en de andere tabs. WebRacer zit dus op het goede spoor.
Twee vragen worden niet gesteld als je de model-tab plot:
1.
Scale lineweights with plot scale?
2.
Plot paper space first?
Volgens mij moet jij jouw probleem (combinatie-lisp maken) nu zelf op kunnen lossen. :wink:
Als het niet lukt post dan, om verwarring te voorkomen, i.i.g. de laatste versie van jouw lisp.
Groet, Roy.
(if (/= (strcase layout_name) "MODEL")
Heb de code vervangen heb voor de rest geen foutmeldingen meer.
Maar hij onthoud de printinstelling niet?
Zie lsp
Beste balletje23,
Probeer de bijgevoegde lisp eens. Ik kan het zelf niet testen omdat Bricscad 7 de vlax-functies niet ondersteunt. Let er wel op dat je in Babe moet opgeven dat de tekening moet worden opgeslagen.
Groet, Roy.
Roy :wink: het is gelukt!! :vreegoe: :vreegoe: :wink:
Hierbij iedereen :ole:bedankt voor alle reactie op dit forum ,
De lisp werkt nu perfect voor mij.
Roy,
Nog een kleine vraagje bij de plot instelling, zou ik graag page setup <none> willen hebben
Wat moet ik in de lisp toevoegen?
Citaat van: balletje23zou ik graag page setup <none> willen
Beste balletje23,
Jouw laatste vraag lijkt heel simpel. Maar de lisp maakt gebruik van het commando
-plot en ik weet niet hoe je met dat commando page setup NONE kunt instellen. Misschien dat jij of een ander formumlid dat wel weet?
Groet, Roy.
Citaat van: roy_043 op do 09 07 2009, 10:26:31
Beste balletje23,
Jouw laatste vraag lijkt heel simpel. Maar de lisp maakt gebruik van het commando -plot en ik weet niet hoe je met dat commando page setup NONE kunt instellen. Misschien dat jij of een ander formumlid dat wel weet?
Groet, Roy.
oke thx ik w8 af