• Industries
  • Products
  • Buy
  • Services & Support
  • Communities
  • Discussion Groups

    .NET

    Reply
    Valued Contributor
    RamanSBV
    Posts: 85
    Registered: ‎02-28-2012
    Accepted Solution

    Issue with INSNAME.

    133 Views, 4 Replies
    02-29-2012 08:36 PM

    Hi,

     

    We are unable to set the value for system variable "INSNAME" .

    It is returning nothing after assigning values for this variable.

     

    We are using below statement for setting the value.

    Application.SetSystemVariable("INSNAME ", "test");

     string str1 = Application.GetSystemVariable("INSNAME").ToString(​);

     

    str1 string value is "" (nothing). and value is not assigning to this variable.

    (We are working in AutoCAD 2010. using programming language as .net 3.5).

     

    Please give advice on this issue.

    Please use plain text.
    Moderator
    Alexander.Rivilis
    Posts: 1,167
    Registered: ‎04-09-2008

    Re: Issue with INSNAME.

    02-29-2012 10:32 PM in reply to: RamanSBV

    Try this test code:

    using System;
    using Autodesk.AutoCAD.Runtime;
    using Autodesk.AutoCAD.ApplicationServices;
    using Autodesk.AutoCAD.DatabaseServices;
    using Autodesk.AutoCAD.Geometry;
    using Autodesk.AutoCAD.EditorInput;
    // This line is not mandatory, but improves loading performances
    [assembly: CommandClass(typeof(Rivilis.SetVar))]
    namespace Rivilis
    {
        public class SetVar
        {
            [CommandMethod("SetInsName", CommandFlags.Modal)]
            public void SetInsName()
            {
                Document doc = Application.DocumentManager.MdiActiveDocument;
                Editor ed = doc.Editor;
                Application.SetSystemVariable("INSNAME", "test");
                string insname = Application.GetSystemVariable("INSNAME") as string;
                if (insname != null) {
                    ed.WriteMessage("\nINSNAME = \"{0}\"", insname);
                } else  {
                    ed.WriteMessage("\nCan not get INSNAME!");
                }
            }
        }
    }
    

    In what context you try to execute your's code?


    Пожалуйста не забывайте про Утвердить в качестве решения!Утвердить в качестве решения и Give Kudos!Баллы
    Please remember to Accept Solution!Accept as Solution and Give Kudos!Kudos

    Please use plain text.
    Valued Contributor
    RamanSBV
    Posts: 85
    Registered: ‎02-28-2012

    Re: Issue with INSNAME.

    03-01-2012 12:31 AM in reply to: Alexander.Rivilis

     

     

    Thanks for your reply.

     

    This is working fine in Main dll. which is attaching to autocad using netload.

    But it is not working in reference dll to main dll.

     

    Actually I am using above command with followed by  "Insert" Command.

     

    Please advise on this

    Please use plain text.
    Moderator
    Alexander.Rivilis
    Posts: 1,167
    Registered: ‎04-09-2008

    Re: Issue with INSNAME.

    03-01-2012 01:12 AM in reply to: RamanSBV

    RamanSBV wrote:

    ... But it is not working in reference dll to main dll...


    I did not understand what do you mean. Is that dll running in another thread?


    Пожалуйста не забывайте про Утвердить в качестве решения!Утвердить в качестве решения и Give Kudos!Баллы
    Please remember to Accept Solution!Accept as Solution and Give Kudos!Kudos

    Please use plain text.
    Valued Contributor
    RamanSBV
    Posts: 85
    Registered: ‎02-28-2012

    Re: Issue with INSNAME.

    03-01-2012 01:16 AM in reply to: Alexander.Rivilis

     

     

    While loading .net dlls into Autocad,  we will refer one dll (Main dll).

     This code is working fine in that dll.

     

    Main dll will refer other dlls for UI layer and Business Layer. Right.

     

    In those dll, this code is not working.

     

     

    Please use plain text.