CADsite

  • zo 09 08 2020, 06:54:07
  • Welkom, gast
Log in of registreer jezelf.

Login met gebruikersnaam, wachtwoord en sessielengte
Geavanceerd zoeken  

Nieuws:

Pagina's: [1]   Omlaag

Auteur Topic: Na netload uitvoeren van code (opgelost)  (gelezen 6570 keer)

EddyBeerke

  • forumverslaafde
  • ******
  • Offline Offline
  • Berichten: 2391
  • 1d CADSITE.be niet bezoeken = 1 dag niet geleefd!
    • Bekijk profiel
    • Mijn site
Na netload uitvoeren van code (opgelost)
« Gepost op: wo 10 04 2013, 13:00:00 »

Kun je na het laden van een plugin (.dll) iets laten verschijnen op de commando regel?
Dus na het laden van de .dll wordt er een deel van de code uitgevoerd net zoals je dit kunt met lisp zie voorbeeld:
(defun C:MijnCommando ( / a )
  (setq a (getdist))
  (princ)
)
(princ "Type \"MijnCommando\" om te starten.")
(princ)
« Laatst bewerkt op: do 11 04 2013, 16:52:41 door EddyBeerke »
Gelogd

winnes

  • regelmatige poster
  • ***
  • Offline Offline
  • Berichten: 31
    • Bekijk profiel
Re: Na netload uitvoeren van code
« Reactie #1 Gepost op: wo 10 04 2013, 17:14:54 »

Ja, dat is zelfs min of meer de bedoeling!?
Netload, aanduiden van je DLL, method name uit je DLL intikken en ENTER drukken... should do the trick...
Voor de juiste code, zie www of geef effe aan C# of VB.NET ...

Om op de commandoregel te printen, in C# alvast :

Editor ed = Application.DocumentManager.MdiActiveDocument.Editor;
ed.WriteMessage("Hello World");

Is dat wat je beoogt?
Gelogd

EddyBeerke

  • forumverslaafde
  • ******
  • Offline Offline
  • Berichten: 2391
  • 1d CADSITE.be niet bezoeken = 1 dag niet geleefd!
    • Bekijk profiel
    • Mijn site
Re: Na netload uitvoeren van code
« Reactie #2 Gepost op: do 11 04 2013, 08:27:30 »

Ja, dat is zelfs min of meer de bedoeling!?
Netload, aanduiden van je DLL, method name uit je DLL intikken en ENTER drukken... should do the trick...
...
Is dat wat je beoogt?
Eigenlijk niet.
Ik wil met het laden van een .dll gelijk iets op de commando regel iets laten zien.
Bijvoobeeld:
Citaat
Deze app is gemaakt door EddyBeerke, (c) 2013
Type  "MijnCommando" om te starten.

Dit wil ik weergeven zodat iemand gelijk na het laden weet welk commando hij/zij moet gebruiken.
Gelogd

winnes

  • regelmatige poster
  • ***
  • Offline Offline
  • Berichten: 31
    • Bekijk profiel
Re: Na netload uitvoeren van code
« Reactie #3 Gepost op: do 11 04 2013, 08:57:12 »

Eddy,

Dan is het volgende wat je moet doen:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Autodesk.AutoCAD.Runtime;
using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.EditorInput;
   
namespace Oak
{
    public class OakInitialize : Autodesk.AutoCAD.Runtime.IExtensionApplication
    {
        public void Initialize()
        {
            Editor ed = Application.DocumentManager.MdiActiveDocument.Editor;
            ed.WriteMessage("Deze app is gemaakt door EddyBeerke, (c)2013 \r\nType 'MijnCommando' om te starten");
        }
        public void Terminate()
        {
            //
        }
        [CommandMethod("MijnCommando")]
        public void MijnCommando()
        {
            Editor ed = Application.DocumentManager.MdiActiveDocument.Editor;
            ed.WriteMessage("Dit is MijnCommando");
        }
    }
}

Gr.
Gelogd

EddyBeerke

  • forumverslaafde
  • ******
  • Offline Offline
  • Berichten: 2391
  • 1d CADSITE.be niet bezoeken = 1 dag niet geleefd!
    • Bekijk profiel
    • Mijn site
Re: Na netload uitvoeren van code
« Reactie #4 Gepost op: do 11 04 2013, 16:51:50 »

Nou, het is gelukt na wat stoeien waar ik de code moest plaatsen.
Het staat nu in myPlugin.vb :
Imports System
Imports Autodesk.AutoCAD.Runtime
Imports Autodesk.AutoCAD.ApplicationServices
Imports Autodesk.AutoCAD.DatabaseServices
Imports Autodesk.AutoCAD.Geometry
Imports Autodesk.AutoCAD.EditorInput

' This line is not mandatory, but improves loading performances
<Assembly: ExtensionApplication(GetType(Iv_DWP_Afstanden.MyPlugin))>

Namespace Iv_DWP_Afstanden

    Public Class MyPlugin
        Implements IExtensionApplication

Public Sub Initialize() Implements IExtensionApplication.Initialize
           ' Initialize your plug-in application here
            Dim ed As Editor
            ed = Application.DocumentManager.MdiActiveDocument.Editor
            ed.WriteMessage("Iv_DWP_Afstanden id geladen.")
            ed.WriteMessage("Deze app is gemaakt door EddyBeerke, (c)2013")
            ed.WriteMessage("Type 'Iv_DWP_Afstand', 'Iv_DWP_Hoogte' of 'Iv_Toolpalette' om te starten")
        End Sub

Bedankt om mij in de goede richting te laten zoeken.
Gelogd

winnes

  • regelmatige poster
  • ***
  • Offline Offline
  • Berichten: 31
    • Bekijk profiel
Re: Na netload uitvoeren van code (opgelost)
« Reactie #5 Gepost op: do 11 04 2013, 17:21:37 »

Blij dat ik kon helpen.
Had ik geweten dat je VB.NET prefereerde...
 :wink:
Gelogd

robbie

  • regelmatige poster
  • ***
  • Offline Offline
  • Berichten: 21
    • Bekijk profiel
Re: Na netload uitvoeren van code
« Reactie #6 Gepost op: di 16 04 2013, 11:52:45 »

Beste Eddy,

Ik ben niet zo'n held, kun je helpen waar ik jouw
code moet of kan plakken in:

Imports Autodesk.AutoCAD.Runtime
Public Class Form1

    <CommandMethod("Cursus1")> Public Sub Toonformulier()

            Me.Show()
    End Sub
    Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged

    End Sub

    Private Sub Label1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label1.Click

    End Sub


    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim a As Double
        a = Me.TextBox1.Text
        a = a + 1
        Me.Label1.Text = a
    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    End Sub
End Class

Bij voorbaat dank.
Gelogd

EddyBeerke

  • forumverslaafde
  • ******
  • Offline Offline
  • Berichten: 2391
  • 1d CADSITE.be niet bezoeken = 1 dag niet geleefd!
    • Bekijk profiel
    • Mijn site
Re: Na netload uitvoeren van code (opgelost)
« Reactie #7 Gepost op: wo 17 04 2013, 11:12:54 »

Ik gebruik de "AutoCAD 2013 VB plug-in" template van de ObjectARX.
Zie: http://www.autodesk.mx/adsk/servlet/index?siteID=123112&id=1911627

Dan krijg ik ook de "myPlugin.vb" en daar heb ik het in gezet.
Gelogd

HofCAD

  • forumverslaafde
  • ******
  • Offline Offline
  • Berichten: 1525
    • Bekijk profiel
Re: Na netload uitvoeren van code
« Reactie #8 Gepost op: wo 17 04 2013, 16:25:58 »

Beste Eddy,

Ik ben niet zo'n held, kun je helpen waar ik jouw
code moet of kan plakken in:

Beste Robbie,

Kijk eens in de bijlage!

Met vriendelijke groet, HofCAD CSI.
Gelogd
ACADcadabra

robbie

  • regelmatige poster
  • ***
  • Offline Offline
  • Berichten: 21
    • Bekijk profiel
Re: Na netload uitvoeren van code
« Reactie #9 Gepost op: ma 22 04 2013, 08:44:40 »

Thanks Eddy en Hofcad,

De oplossing van Eddy is voor mij nu nog te moeilijk,
maar die van Hofcad is het precies.
Een extra vraag tav het programma, hoe kan ik maken dat
het programma na het sluiten van de dialoogbox opnieuw met
'Cursus1' gestart kan worden?

Bij voorbaat dank.
Gelogd

EddyBeerke

  • forumverslaafde
  • ******
  • Offline Offline
  • Berichten: 2391
  • 1d CADSITE.be niet bezoeken = 1 dag niet geleefd!
    • Bekijk profiel
    • Mijn site
Re: Na netload uitvoeren van code (opgelost)
« Reactie #10 Gepost op: ma 22 04 2013, 09:53:16 »

Eigenlijk raar dat mijn oplossing te moeilijk is want we doen hetzelfde, het wordt het alleen uitgevoerd met het laden van de dll.
Van HofCAD:
    Public Sub Initialize() Implements IExtensionApplication.Initialize
        ' Initialize your plug-in application here           
        Dim ed As Editor
        ed = Application.DocumentManager.MdiActiveDocument.Editor
        ed.WriteMessage(vbCrLf & " Form1 is geladen.")
        ed.WriteMessage(vbCrLf & " Deze app is gemaakt door HofCAD CSI.")
        ed.WriteMessage(vbCrLf & " Type 'Cursus1' om te starten")
    End Sub

    Public Sub Terminate() Implements Autodesk.AutoCAD.Runtime.IExtensionApplication.Terminate

    End Sub

Van Mij:
        Public Sub Initialize() Implements IExtensionApplication.Initialize
           ' Initialize your plug-in application here
            Dim ed As Editor
            ed = Application.DocumentManager.MdiActiveDocument.Editor
            ed.WriteMessage("Iv_DWP_Afstanden id geladen.")
            ed.WriteMessage("Deze app is gemaakt door EddyBeerke, (c)2013")
            ed.WriteMessage("Type 'Iv_DWP_Afstand', 'Iv_DWP_Hoogte' of 'Iv_Toolpalette' om te starten")
        End Sub

Deze code wordt dus uitgevoerd bij het laden.

Wat je andere vraag betreft kun je beter een nieuwe topic starten denk ik.
Gelogd
Pagina's: [1]   Omhoog