FastFiber

welk commando voor insert block (opgelost)

Gestart door marcelmaas, do 07 05 2009, 20:27:36

Vorige topic - Volgende topic

HofCAD

#15
Beste Marcel,

Heb je ook  DVB_Insert04 bekeken, want daar hoef je niet op de OK knop te klikken.
Een oplossing met "op een  Escape toets of spatie/enter drukken" kan ik je nu nog niet
aanleveren omdat:
1) Lisp mijn geliefde taal is, en ik heb me dus nooit verdiept in VBA.
In de AutoLisp hoek van vele AutoCADforums vind je veel betere
en uitgebreidere programma's dan in de VBA hoek.
2) Ik zelf heb niet zoveel op met dialoogboxen, want ik ben blond :oops:.

Met vriendelijke groet, HofCAD CSI.

PS 1: Heb je in de Visual Basic Editor de knop RESET al gevonden :lol:, want je schreef ooit:
"maar steeds bleef hij maar loopen, en kon ik autocad opnieuw opstarten."
PS 2: Dit http://usa.autodesk.com/adsk/servlet/item?siteID=123112&id=12729484&linkID=9240618
stelt mij niet gerust:
What is the status of VBA support in the AutoCAD 2010 product line?
Autodesk has begun the transition of VB customization from VBA to .NET technology. This transition will occur over a few years. During this time, Autodesk will provide documentation and other assistance to help our customers and developers migrate from VBA to this new automation technology.

ACADcadabra

marcelmaas

Hi Hofcad,

Ik had de reset knop al wel gevonden, maar die hielp me ook niet te stoppen.
In dacht dat jij ook wel goed thuis was in vba.
Maar in ieder geval bedankt voor de hulp tot zover.!!!

Ook bedankt voor de link, daar wordt ik eigenlijk ook helemaal niet blij van.
Ik ga namelijk over twee weken starten met de vba training bij cadcollege.
Nou is het natuurlijk nooit verkeerd om ergens te beginnen binnen de programmeer wereld.
Ik denk dat als je vba redelijk kent, het waarschijnlijk ook makkelijker is om een andere taal te leren.
Zeker als je vba kent zal de stap naar vb.Net niet zo moeilijk zijn.
Maar zeker wel jammer dat het zo moet lopen.

Bedankt voor de info.. :vreegoe: :vreegoe: :vreegoe:
Ik ga zelf wel verder zoeken naar een oplossing voor mijn formuliertje.. :wink:

Groeten, Marcel..

HofCAD

#17
Citaat van: marcelmaas op di 12 05 2009, 20:57:43
Ik had de reset knop al wel gevonden, maar die hielp me ook niet te stoppen.

Beste Marcel,

Kun je de oneindige lus met Ctrl + Break stoppen?

Met vriendelijke groet, HofCAD CSI

PS 1. Misschien kan http://www.fontstuff.com/vba/vbatut07.htm met het
bestand Excel Calendar Workbook.zip 
een oplossing voor je probleem geven.
PS 2. Als je de oplossing voor je formuliertje gevonden hebt, wil ik die graag zien.
ACADcadabra

marcelmaas

wat bedoel je met ctrl + break?

ctrl + enter..?

groeten, Marcel...

HofCAD

#19
Citaat van: marcelmaas op wo 13 05 2009, 20:10:35
wat bedoel je met ctrl + break?
Beste Marcel,

Heb je onder de Pause toets geen Break zitten?
Dus men zal wel bedoelen Ctrl+Shift+Pause.

Met vriendelijke groet, HofCAD CSI.
ACADcadabra

marcelmaas

Hi Hofcad,

Stop werkt niet, pause of break zoals ik nu net pas zie ook niet.
Er is helemaal niks wat dan werkt, alles is geblokkeerd tot je op stop zou drukken, maar die werkt ook niet.

Je bedoelt toch in de visual basic editor op pause drukken toch.?

Groeten, Marcel..

HofCAD

#21
Beste Marcel,

Heb je onder de Pause toets op je toetsenbord geen Break zitten?
Dus men zal wel bedoelen Ctrl+Shift+Pause.

Met vriendelijke groet, HofCAD CSI.

PS Zet in HofCAD02.dvb in de UserForm2 bij  CommandButton2 de waarde bij Cancel op True,
want ik denk(???????????) dat dan de Escape(Esc) toets in de dialoogbox gaat  werken.
Morgen hopelijk meer.

ACADcadabra

HofCAD

#22
Beste Marcel,

Ik heb het vorige bestand HofCAD02.dvb aangepast naar HofCAD02b.dvb,
zodat je na een keuze van een block deze herhaald kan invoegen tot dat
je bijv. de Escape of de Enter toets gebruikt.
Na deze onderbreking komt het dialoogscherm weer op, en kan je bijv. een
ander block herhaaldelijk invoegen.
Het dialoogscherm voorgoed afsluiten kan met de CANCEL knop of met
de Escape toets.

Met vriendelijke groet, HofCAD CSI.

PS.1: De sprong met GoTo MissedPick is niet echt fraai.
PS.2: Ik ben benieuwd naar jouw *.dvb.

ACADcadabra

marcelmaas

Hi Hofcad,

Ik heb inmiddels verschillende dingen gecombineerd, en heb nu bijgevoegde code.
Daarin werkt het al aardig zoals het zou moeten.
Als ik namelijk een optionbutton kies veranderd ook de afbeelding links op het formulier.
Optionbutton 4 staat op true ingesteld omdat we die het meest gebruiken.
Maar nu is het zo dat welke optionbutton je ook aanklikt de afbeelding wel mee veranderd, maar als je hem in wil voegen, toch blijkt dat het block van optionbutton 4 ingevoegd word.!!

Misschien dat jij het begrijpt.

Groeten Marcel..

HofCAD

#24
Beste Marcel,

Je gebruikt de variabelen strName en BlockNaam, maar BlockNaam moet
dezelfde inhoud krijgen als strName met .dwg.
Dat laatste zie ik nergens geschieden.
Door je initialisatie
Private Sub UserForm_Initialize()
  BlockNaam = "c:\AanvoerO.dwg"
  optbutton4.Value = True
End Sub

wordt dus de tekening AanvoerO.dwg altijd ingevoegd.

Met vriendelijke groet, HofCAD CSI.
ACADcadabra

marcelmaas

Hi Hofcad,

Dank je, maar daar was ik inmiddels ook achter.
Ik krijg nu dus alle previews, en kan de juiste blocken invoegen.

Het probleem wat ik nu nog zou willen verhelpen is dat de blocken niet op de goede laag binnenkomen.
Wel als ik ze explodeer met:
Blok.Explode

Maar het probleem wat ik dan krijg is dat er over het blok een soort van polylijn getekend wordt die in de actieve laag komt te staan.
De blocken staan dan wel in de goede laag, maar er zit een lijn overheen die dat niet is.

RaRa..?

Ik snap er niks van..

Groeten, Marcel..

HofCAD

Citaat van: marcelmaas op vr 15 05 2009, 15:18:20
Hi Hofcad,

Dank je, maar daar was ik inmiddels ook achter.
Ik krijg nu dus alle previews, en kan de juiste blocken invoegen.

Het probleem wat ik nu nog zou willen verhelpen is dat de blocken niet op de goede laag binnenkomen.
Wel als ik ze explodeer met:
Blok.Explode

Maar het probleem wat ik dan krijg is dat er over het blok een soort van polylijn getekend wordt die in de actieve laag komt te staan.
De blocken staan dan wel in de goede laag, maar er zit een lijn overheen die dat niet is.

RaRa..?

Ik snap er niks van..

Groeten, Marcel..
Beste Marcel,

Kan ik zo ook niet volgen, of je moet een tekening sturen.

Je blockreferenties worden op de aktieve laag geplaatst,
waarbij alleen het uiterlijk van het block verandererd als
de elementen van het block op laag 0 getekend of als
de kleur bijv. niet ByLayer maar ByBlock staat.
Dat je de blockreferenties moet exploderen, lijkt mij sterk.

Met vriendelijke groet, HofCAD CSI.
ACADcadabra

marcelmaas

Hi Hofcad,

Ik heb twee tekeningen bijgevoegd.

RetourO is het block wat ik gebruik om in te voegen.
RetourO_ingevoegd is de tekening nadat ik hem heb ingevoegd.

zoals je in RetourO_ingevoegd kunt zien is er een soort polylijn bijgekomen.

Ik weet niet hoe dit kan.

Misschien dat jij een idee hebt.?

Groeten Marcel..

HofCAD

#28
Citaat van: marcelmaas op vr 15 05 2009, 16:19:31
Hi Hofcad,

Ik heb twee tekeningen bijgevoegd.

RetourO is het block wat ik gebruik om in te voegen.
RetourO_ingevoegd is de tekening nadat ik hem heb ingevoegd.

zoals je in RetourO_ingevoegd kunt zien is er een soort polylijn bijgekomen.

Ik weet niet hoe dit kan.

Misschien dat jij een idee hebt.?

Groeten Marcel..

Beste Marcel,

In RetourO_ingevoegd 4 objecten(1 Line, 1 Lwpolyline, 1 Text en 1 Blockreference.
Voeg je block niet 2x in, want ik zie zowel in de procedure cmdOK_Click
    Set Blok = ThisDrawing.ModelSpace.InsertBlock(InspntBlok, BlockNaam, Schaal, Schaal, Schaal, Rotation)
    ThisDrawing.Regen (acActiveViewport)

en ik zie in de procedure UserForm_Click
    Set blockRefObj = ThisDrawing.ModelSpace.InsertBlock(insertionPnt, strName, 1#, 1#, 1#, 0).
Waarschijnlijk heb je in de tekening RetourO_ingevoegd een van de twee blockreferenties
geexplodeerd.

Met vriendelijke groet, HofCAD CSI.
ACADcadabra

marcelmaas

#29
Hi Hofcad,

Ik heb inderdaad bij userform_click de code uitgezet en nu werkt het nog steeds, dus die stond er dubbel/teveel in.
Dank je voor de tip.!!

Ik heb ook besloten dat ik het block niet vooraf wil exploderen, dat is eigenlijk beter.
Alleen moet ik nu nog de blocken in de goede laag laten invoegen.
Ik het 8 verschillende blocken, 4 moeten er in de laag HH_R_AANVOER komen en 4 in de laag HH_R_RETOUR

Ik kan een block op de een bepaalde laag laten invoegen middels:
Blok.Layer = "HH_R_AANVOER"

Maar in mijn geval is dit afhankelijk van welke optbutton je aan aangeklikt hebt.

Weet jij hoet ik dat zou kunnen doen.
Ik begrijp dat het met een array zou kunnen maar daar begrijp ik nog niet veel van.




Groeten Marcel..

FastFiber