Heren en of Dames,
wie kan mij helpen met dit probleem, met onderstaand scriptje wil een
een block plaatsen genaamd dummy, maar als ik het start gaat het fout bij de regel
Set blockrefobj = Thisdrawing.etc
ik wordt direct uit autocad gegooid, en kan de boel opnieuw opstarten.
schakel ik de laatste twee regels uit, dan is er niks aan de hand,
dus mijn conclusie: het ligt aan die bewuste regel.
wie weet hier wat meer van
bvd
Groet
andre  Â
Dim returnPnt As Variant
  Dim insertionPnt(0 To 2) As Double
  Dim blockRefObj As AcadBlockReference
  Dim textobj As AcadText
  ThisDrawing.Utility.prompt "Plaats Insertionpoint"
  returnPnt = ThisDrawing.Utility.GetPoint
  insertionPnt(0) = returnPnt(0): insertionPnt(1) = returnPnt(1): insertionPnt(2) = returnPnt(2)
  insertionPnt(1) = insertionPnt(1) - 7.5
 Â
 Â
  Set blockRefObj = ThisDrawing.ModelSpace.InsertBlock(insertionPnt,  "DUMMY.DWG", 1#, 1#, 1#, 0)
  blockRefObj.Layer = "0"
 Â
haal de eerste regel maar weg..... returnpnt niet declareren....
Dim returnPnt As Variant
  Dim insertionPnt(0 To 2) As Double
  Dim blockRefObj As AcadBlockReference
  Dim textobj As AcadText
  ThisDrawing.Utility.prompt "Plaats Insertionpoint"
  returnPnt = ThisDrawing.Utility.GetPoint
  insertionPnt(0) = returnPnt(0): insertionPnt(1) = returnPnt(1): insertionPnt(2) = returnPnt(2)
  insertionPnt(1) = insertionPnt(1) - 7.5
 Â
 Â
  Set blockRefObj = ThisDrawing.ModelSpace.InsertBlock(insertionPnt, "DUMMY.DWG", 1#, 1#, 1#, 0)
  blockRefObj.Layer = "0"
dan zou hij moeten werken....
Remo,
Bedankt voor de tip, maar helaas ook dat mocht niet baten,
kan het iets te maken hebben met b.v. een virusscanner of een backupschijf
die mee staat te draaien ?
Gr.
Andre
Wij draaien hier ook virusscanners (norman) en een backup die meedraaid? ik neem aan dat die eens in de zoveel tijd een backup maakt... zou niet moeten uitmaken..
maar is de tekening dummy.dwg wel bereikbaar......  ik bedoel
  Set blockRefObj = ThisDrawing.ModelSpace.InsertBlock(insertionPnt, "DUMMY.DWG", 1#, 1#, 1#, 0)
  blockRefObj.Layer = "0"
die had ik bij mij even vervangen......(tekening moet wel bestaan en door AutoCAD gevonden kunnen worden, als je hem zoals jij zonder pad in je code heb staan moet hij wel in een map staan die in je supportpaden van AutoCAD staan )
  Set blockRefObj = ThisDrawing.ModelSpace.InsertBlock(insertionPnt, "c:\test.dwg", 1#, 1#, 1#, 0)
  blockRefObj.Layer = "0"
en bij mij werkt hij....
maar buiten dat zou ik zeggen de code doet tut....... :-)
overigens..... bij mij knalt niet heel AutoCAD eruit als ik je "foute" code gebruik..... maar krijg alleen een foutmelding....
draai je wel AutoCAD 2006 met servicepack 1 (http://usa.autodesk.com/adsk/servlet/ps/item?siteID=123112&id=5843771&linkID=2475323) ?
Andre
doe het volgende:
Set blockRefObj = ThisDrawing.ModelSpace.InsertBlock(insertionPnt, "DUMMY", 1#, 1#, 1#, 0)
dus "DUMMY" i.p.v. DUMMY.dwg
zorg wel dat de block te vinden is in het path....
Succes
Jeans,
ook dit mocht niet baten
gr.
andre
Gebruik je een userform?
zo ja: userform1.hide
de onderstaande code werkt (bij mij...)
Private Sub CommandButton1_Click()
Dim returnPnt As Variant
Dim insertionPnt(0 To 2) As Double
Dim blockRefObj As AcadBlockReference
Dim textobj As AcadText
ThisDrawing.Utility.Prompt "Plaats Insertionpoint"
UserForm1.Hide
returnPnt = ThisDrawing.Utility.GetPoint
insertionPnt(0) = returnPnt(0): insertionPnt(1) = returnPnt(1): insertionPnt(2) = returnPnt(2)
insertionPnt(1) = insertionPnt(1) - 7.5
Set blockRefObj = ThisDrawing.ModelSpace.InsertBlock(insertionPnt, "DUMMY.dwg", 1#, 1#, 1#, 0)
blockRefObj.Layer = "0"
End Sub
Noot:
Als je niet expliciet het pad aangeeft moet de tekening wel ergens in 1 van de directory's
van je Support File Search Path staan.
Zie menu Tools->options tabblad Files.
Citaat van: Dnereb op do 09 03 2006, 15:28:39
Noot:
Als je niet expliciet het pad aangeeft moet de tekening wel ergens in 1 van de directory's
van je Support File Search Path staan.
Zie menu Tools->options tabblad Files.
Dank voor jullie antwoorden, ik ben inmiddels een stap verder,
ik heb al die tijd vergeten te vermelden dat er nog een applicatie meedraait
t.w. electrical designer, dat is een E-pakket met autocad als platform
deze gooit roet in het eten, als ik alleen gebruik maakt van Autocad dan
werkt de routine gewoon.
Groet
Andre