CADsite

  • vr 10 07 2020, 12:20:31
  • Welkom, gast
Log in of registreer jezelf.

Login met gebruikersnaam, wachtwoord en sessielengte
Geavanceerd zoeken  

Nieuws:

Pagina's: [1]   Omlaag

Auteur Topic: werken in een bepaald layout  (gelezen 9116 keer)

nootie

  • forum groentje
  • **
  • Offline Offline
  • Berichten: 10
    • Bekijk profiel
werken in een bepaald layout
« Gepost op: za 13 03 2010, 13:48:07 »

Dag, zojuist ben ik begonnen met het programmeren in autocad.

Mijn probleemsituatie gaat als volgt: ik heb een vijftigtal layouts en in iedere layout wil ik bepaalde bewerkingen uitvoeren.
Maar graag zou ik een code hebben die niet altijd de layouts activeert (want doordat ze zich telkens regenerate, duurt het een tijd).

Ikzelf probeer te werken met:

For Each elem In ThisDrawing.Layouts.Item(layoutname)
       elem.Delete
 Next elem 


Maar hierbij verkrijg ik telkens een fout. Weet iemand een ander stukje code hiervoor.
Gelogd

EddyBeerke

  • forumverslaafde
  • ******
  • Offline Offline
  • Berichten: 2389
  • 1d CADSITE.be niet bezoeken = 1 dag niet geleefd!
    • Bekijk profiel
    • Mijn site
Re:werken in een bepaald layout
« Reactie #1 Gepost op: ma 15 03 2010, 07:42:40 »

Ik zie dat je bij alle elementen ".Delete" gebruikt (For Each...).
Misschien kun je proberen om "select all" te doen en dan "delete".
Je kunt bij het selecteren ook filters maken zodat niet alle elementen verwijdert worden.
Gelogd

nootie

  • forum groentje
  • **
  • Offline Offline
  • Berichten: 10
    • Bekijk profiel
Re:werken in een bepaald layout
« Reactie #2 Gepost op: ma 15 03 2010, 19:24:18 »

Dit is idd niet slecht gezien, maar ik blijf wel nog altijd met hetzelfde probleem zitten van die layouts.
Gelogd

HofCAD

  • forumverslaafde
  • ******
  • Offline Offline
  • Berichten: 1525
    • Bekijk profiel
Re:werken in een bepaald layout
« Reactie #3 Gepost op: di 16 03 2010, 09:39:20 »

Dag, zojuist ben ik begonnen met het programmeren in autocad.


Beste Nootie,

Als je begint met programmeren, dan is het niet verstandig om nu nog
met VBA te beginnen.
Want in AutoCAD 2011 en misschien nog in AutoCAD 2012 wordt VBA
nog ondersteund, maar daarna is het in AutoCAD 2013 (Let op de 13http://www.softpedia.com/get/Programming/Other-Programming-Files/SharpDevelop.shtml
Een cursus in VB.Net kun je volgen bij TEC / CADCollege en wordt
gegeven door ir. Ronald Boeklagen.
http://d106037.pem.kpn.net/cursus/cur_aanpassen3.htm
In zijn nieuwe boek van AutoCAD 2011 Computer Ondersteund Ontwerpen
zal ook VBA worden vervangen door VB.Net.
Kijk bijv. ook naar: http://usa.autodesk.com/adsk/servlet/index?siteID=123112&id=1911627
Om VBA in VB.Net om te zetten kijk naar: http://autodesk.mediasite.com/mediasite/Viewer/?peid=b820cebe54e34fc29a91542ec1e279e1

Met vriendelijke groet, HofCAD CSI.

PS 1
Julien zal in de toekomst moeten beslissen of hij voor 'Dot Net API'
een speciale categorie binnen dit forum aanmaakt naast de
categorie 'VBA/COM interop'.
Zie bijv.: http://forums.augi.com/forumdisplay.php?s=45e146e28a3cec5964b561b189b1392b&f=88

PS 2
Uit:  http://d106037.pem.kpn.net/cursus/cur_aanpassen3.htm  
Houdbaarheidsdatum VBA en VB.NET


VB.NET
Programma's gemaakt in VB.NET moeten om de drie jaar opnieuw gecompileerd worden.
AutoCAD 2005 - 2009: Visual Studio 2005 en het objectenmodel van .NET of het ActiveX objectenmodel
AutoCAD 2010 - 2012: Visual Studio 2008 en het objectenmodel van .NET of het ActiveX objectenmodel
AutoCAD 2013 ->: Visual Studio 2010 en alleen het objectenmodel van .NET
« Laatst bewerkt op: ma 22 03 2010, 11:31:25 door HofCAD »
Gelogd
ACADcadabra

nootie

  • forum groentje
  • **
  • Offline Offline
  • Berichten: 10
    • Bekijk profiel
Re:werken in een bepaald layout
« Reactie #4 Gepost op: za 20 03 2010, 12:12:41 »

« Laatst bewerkt op: za 20 03 2010, 14:12:19 door nootie »
Gelogd

bart

  • Forum medewerker
  • forumverslaafde
  • *****
  • Offline Offline
  • Berichten: 2046
    • Bekijk profiel
Re:werken in een bepaald layout
« Reactie #5 Gepost op: wo 24 03 2010, 14:58:25 »

je zou een kunnen proberen de systeem variabele regenauto te wijzigenen
of de onderstaande
LAYOUTREGENCTL Alles uitvouwen


 
Type: Geheel getal
Opgeslagen in: Register
Beginwaarde 2

Deze systeemvariabele bepaalt hoe de weergavelijst wordt bijgewerkt op het tabblad Model en op de lay-outtabbladen.

Voor elk tabblad wordt de weergavelijst bijgewerkt door de tekening opnieuw te genereren wanneer u overschakelt naar het desbetreffende tabblad of door de weergavelijst in het geheugen op te slaan en alleen de gewijzigde objecten opnieuw te genereren wanneer u overschakelt naar dat tabblad. Het wijzigen van de systeemvariabele LAYOUTREGENCTL kan tot een prestatieverbetering leiden.

0
 Steeds wanneer u naar een ander tabblad overschakelt, wordt de tekening geregenereerd.
 
1
 Voor het tabblad Model en voor het laatst geactiveerde lay-outtabblad wordt de weergavelijst in het geheugen opgeslagen. Er vindt geen regeneratie plaats wanneer u overschakelt tussen beide tabbladen. Alle andere tabbladen worden wel opnieuw gegenereerd als u hiernaar overschakelt.
 
2
 Alleen de eerste keer dat u naar elk van de tabbladen overschakelt, wordt de tekening geregenereerd. Gedurende de rest van de tekensessie, wordt de weergavelijst opgeslagen in het geheugen en wordt het opnieuw genereren onderdrukt wanneer u overschakelt naar die tabbladen.
 

De prestatieverbetering die u kunt bereiken door LAYOUTREGENCTL te wijzigen, is afhankelijk van diverse factoren, zoals tekeningtype en -grootte, beschikbaar geheugen en het effect van andere geopende tekeningen of toepassingen. Als LAYOUTREGENCTL op 1 of 2 is ingesteld, is de hoeveelheid extra gebruikt geheugen gelijk aan de grootte van de weergavelijst op het tabblad Model, vermenigvuldigd met het aantal vensters in elke layout waarvoor de weergavelijst wordt opgeslagen.

Als LAYOUTREGENCTL op 1 of 2 is ingesteld en het systeem trager werkt (al dan niet als gevolg van het overschakelen naar een tabblad waarvoor de weergavelijst wordt opgeslagen), kunt u deze systeemvariabele wellicht beter op 0 of 1 instellen, zodat er een betere balans ontstaat voor uw specifieke werkomgeving. Op het tabblad System (in het dialoogvenster Options) vindt u meer informatie over prestatie-instellingen.

Als u een blok opnieuw definieert of een overschakeling naar een tabblad ongedaan maakt, wordt de tekening geregenereerd wanneer u naar een willekeurig tabblad overschakelt dat opgeslagen vensters bevat. Er wordt dan geen rekening meer gehouden met de waarde die u bij LAYOUTREGENCTL hebt ingesteld.
Gelogd
Domme vragen bestaan niet.
Domme antwoorden wel.

m.vr. groet Bart

sschevers

  • vaste forumklant
  • *****
  • Offline Offline
  • Berichten: 275
    • Bekijk profiel
Re:werken in een bepaald layout
« Reactie #6 Gepost op: di 30 03 2010, 13:29:00 »


De dot.net api is al vanaf acad 2006 beschikbaar. Je hoeft dus niet te wachten tot versie 2012. Je zult bij elke nieuwe versie moeten checken of je programma nog werkt en desnoods moet je de code (een dll) opnieuw compileren. Mijn mening is dat je niet te lang moet wachten met de overstap naar de dot.net omgeving (vb.net of C#). De manier van programmeren verschilt nogal van wat je gewent bent onder vba.
Ga een cursus vb.net of C# volgen. Ga daarna een cursus volgen waarin de dotnet api van acad uitgelegt wordt.

greetz stephan
Gelogd

EddyBeerke

  • forumverslaafde
  • ******
  • Offline Offline
  • Berichten: 2389
  • 1d CADSITE.be niet bezoeken = 1 dag niet geleefd!
    • Bekijk profiel
    • Mijn site
Re:werken in een bepaald layout
« Reactie #7 Gepost op: di 01 06 2010, 21:33:18 »

...

AutoCAD 2013 ->: Vanaf AutoCAD 2013 verdwijnt het ActiveX object uit AutoCAD en moet alles gedaan
worden via het oorspronkelijk (Eng: native) .NET object. [/color]
...

Beste HofCAD,

Jij weet zo veel... maar hoe zit het dan met (Visual)Lisp?
Ik hoorde van een Ex-AutoCAD-Alfa/Beta tester (deze wordt door ons ingehuurd) dat er (een paar versies terug) al sprake van was dat Lisp niet meer ondersteund gaat worden, althans dat had hij weer gehoord.

Ik heb een korte poging gedaan om iets met VB.Net te gaan doen, maar je moet platform-afhankelijk programmeren en dat hoeft met Lisp niet, dus ben er voor nu mee gestopt maar met Lisp wil ik wel verder.
Gelogd

sschevers

  • vaste forumklant
  • *****
  • Offline Offline
  • Berichten: 275
    • Bekijk profiel
Re:werken in een bepaald layout
« Reactie #8 Gepost op: wo 02 06 2010, 07:29:54 »

Beste HofCAD,

Jij weet zo veel... maar hoe zit het dan met (Visual)Lisp?
Ik hoorde van een Ex-AutoCAD-Alfa/Beta tester (deze wordt door ons ingehuurd) dat er (een paar versies terug) al sprake van was dat Lisp niet meer ondersteund gaat worden, althans dat had hij weer gehoord.

Ik heb een korte poging gedaan om iets met VB.Net te gaan doen, maar je moet platform-afhankelijk programmeren en dat hoeft met Lisp niet, dus ben er voor nu mee gestopt maar met Lisp wil ik wel verder.

Eddy,

Wat bedoel je met "met VB.NET moet je platform-afhankelijk programmeren"?  Ik heb C# programma's die draaien zowel op vista als xp. Of bedoel je dat je programma's moet checken als je van versie veranderd. Dit moet je je met lisp programma's ook omdat commando's komen te vervallen. Je zult je programmatuur altijd moeten testen als je naar een andere versie overgaat dus dat is naar mijn idee geen reden om niet over te stappen naar Vb.NET of C#

stephan
Gelogd

EddyBeerke

  • forumverslaafde
  • ******
  • Offline Offline
  • Berichten: 2389
  • 1d CADSITE.be niet bezoeken = 1 dag niet geleefd!
    • Bekijk profiel
    • Mijn site
Re:werken in een bepaald layout
« Reactie #9 Gepost op: wo 02 06 2010, 12:38:34 »

Eddy,

Wat bedoel je met "met VB.NET moet je platform-afhankelijk programmeren"?  Ik heb C# programma's die draaien zowel op vista als xp. Of bedoel je dat je programma's moet checken als je van versie veranderd. Dit moet je je met lisp programma's ook omdat commando's komen te vervallen. Je zult je programmatuur altijd moeten testen als je naar een andere versie overgaat dus dat is naar mijn idee geen reden om niet over te stappen naar Vb.NET of C#

stephan

Natuurlijk dien je altijd je code te testen met een andere versie van Acad, maar ik heb het eigenlijk over een ander besturingsysteem.

Je moet rekening houden met het "Framework"
Dit is met Window's XP SP2 anders dan met SP3, en dat zal wel het zelfde zijn met vista of 7.

Ik probeerde wat in "Microsoft Visual Studio 2010 Express"
Het lukt mij niet om te debuggen (F8 voor stapsgewijs), wel kon ik met NETLOAD de .dll laden met het commando: "HelloWorld" (ja echt, ik heb deze dus gewoon gemaakt omdat ie zo lekker simpel leek).
Hierbij kreeg ik de volgende melding:
Citaat
Command: NETLOAD
Cannot load assembly. Error details: System.BadImageFormatException: Could not
load file or assembly 'file:///U:\Visual Studio
2010\Projects\Test20100518\Test20100518\bin\Debug\Test20100518.dll' or one of
its dependencies. This assembly is built by a runtime newer than the currently
loaded runtime and cannot be loaded.
File name: 'file:///U:\Visual Studio
2010\Projects\Test20100518\Test20100518\bin\Debug\Test20100518.dll'
at System.Reflection.Assembly._nLoad(AssemblyName fileName, String codeBase,
Evidence assemblySecurity, Assembly locationHint, StackCrawlMark& stackMark,
Boolean throwOnFileNotFound, Boolean forIntrospection)
at System.Reflection.Assembly.nLoad(AssemblyName fileName, String codeBase,
Evidence assemblySecurity, Assembly locationHint, StackCrawlMark& stackMark,
Boolean throwOnFileNotFound, Boolean forIntrospection)
at System.Reflection.Assembly.InternalLoad(AssemblyName assemblyRef,
Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection)
at System.Reflection.Assembly.InternalLoadFrom(String assemblyFile, Evidence
securityEvidence, Byte[] hashValue, AssemblyHashAlgorithm hashAlgorithm,
Boolean forIntrospection, StackCrawlMark& stackMark)
at System.Reflection.Assembly.LoadFrom(String assemblyFile)
at Autodesk.AutoCAD.Runtime.ExtensionLoader.Load(String fileName)
at loadmgd()

WRN: Assembly binding logging is turned OFF.
To enable assembly bind failure logging, set the registry value
[HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.
Note: There is some performance penalty associated with assembly bind failure
logging.
To turn this feature off, remove the registry value
[HKLM\Software\Microsoft\Fusion!EnableLog].

Het kan zijn dat ik niet goed heb gelezen op diverse forums maar ik kon er niets over vinden, tot ik wat verder keek en een error zag en dat ging over "FrameWork 2" en ik moest dus "FrameWork 3" hebben.
Gelogd

sschevers

  • vaste forumklant
  • *****
  • Offline Offline
  • Berichten: 275
    • Bekijk profiel
Re:werken in een bepaald layout
« Reactie #10 Gepost op: wo 02 06 2010, 13:22:58 »

Mits je voor externe mensen applicaties maakt zule je hier tekening moeten/ kunnen houden. Als je je spullen met een installer verspreid kun je met aanwezigheid van een framework rekening houden. In je handleiding neem je op dat je software alleen werkt als dot.net frame 2, 3 , 3.5 aanwezig moet zijn omdat anders je spullen niet werken.
Dit doet autodesk zelf ook die neemt het benodigde framework op in hun installers.

Is je software voor intern gebruik dan weet je welk framework er verspreid is. Ik neem dan even aan dat je een centrale IT afdeling hebt en die kan je vertellen welk framework bij jullie gangbaar is.

Het probleem met vs2010 is bekend. Zie bijgaande link voor meer info
http://through-the-interface.typepad.com/through_the_interface/2010/04/hitting-breakpoints-in-net-class-libraries-while-debugging-with-visual-studio-2010.html

Ik hoop hiermee de nodige scepsis weg genomen te hebben en dat je toch naar de dot.net omgeving over te laten gaan. Je kunt zoveel meer me dan met lisp en vba. Het is een drempel die je moet nemen maar je krijgt er veel voor terug. Volgens mij is vs2008 expres ook nog te downloaden. Dan heb je de problemen die met vs2010 ondervind niet
http://www.microsoft.com/express/downloads/#%20

stephan
Gelogd

EddyBeerke

  • forumverslaafde
  • ******
  • Offline Offline
  • Berichten: 2389
  • 1d CADSITE.be niet bezoeken = 1 dag niet geleefd!
    • Bekijk profiel
    • Mijn site
Re:werken in een bepaald layout
« Reactie #11 Gepost op: wo 02 06 2010, 18:29:48 »

Met de simpele dingen zou ik toch graag met lisp blijven werken.
Ik ben in het bedrijf voor tekenwerk en niet voor programeerwerk is vaak het antwoord wat je krijgt.
Als je dan toch iets wil ben je aangewezen op lisp.(ik mag dus eigenlijk nieteens programmas installeren)
Gelogd
Pagina's: [1]   Omhoog