Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Плагин на C#
Форум .:3DCenter.ru:. > Пакеты 3D моделирования > 3ds Max > 3ds max SDK
kolts
Хочу сделать плагин на c#. Делал по этому уроку http://vimeo.com/11191227. Все толково обьяснено, но есть небольшие отличия. Раньше Max.NET был плагином теперь он встроен.


Код
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Autodesk.Max;
using Autodesk.Max.Plugins;

namespace Plane
{
    public class PlaneDescriptor : ClassDesc2
    {
        IGlobal global;

        internal static IClass_ID classID;

        public PlaneDescriptor(IGlobal global_)
        {
            this.global = global_;

            classID = global.Class_ID.Create(253674,23564);                

        }

        public override string Category
        {
            get { return "Max .NET Tutorial"; }
        }

        public override IClass_ID ClassID
        {
            get { return classID; }
        }

        public override string ClassName
        {
            get { return "Plane"; }
        }

        public override object Create(bool loading)
        {
            return new Plane();
        }

        public override bool IsPublic
        {
            get { return true; }
        }

        public override SClass_ID SuperClassID
        {
            get { return SClass_ID.Geomobject; }
        }
    }
    public class Plane : SimpleObject2
    {
        public override void BuildMesh(int t)
        {
        }

        public override ICreateMouseCallBack CreateMouseCallBack
        {
            get { return null; }
        }

        public override RefResult NotifyRefChanged(IInterval changeInt, IReferenceTarget hTarget, ref UIntPtr partID, RefMessage message)
        {
           return RefResult.Succeed;
        }
    }

    public static class AssemblyFunctions
    {
          public static void AssemblyMain()
         {
             var g = Autodesk.Max.GlobalInterface.Instance;
             var i = g.COREInterface13;
             i.AddClass(new PlaneDescriptor(g));
         }

    }
}


Ставлю dll в /bin/assemblies, но макс вылетает при запуске.
Все вроде просто и понятно, но не работает скотина.
LabEG
Вообще плагины в папке плагинов должны быть.
kolts
Такие плагины должны быть в /bin/assemblies. Это все из хелпа. Только вот не разжевали там до конца.
LabEG
А в видюшке кидают в плагины...
kolts
Видюшке уже 3-4 года. Тогда это был плагин. Сейчас этот функционал встроен. У него и AssemblyMain функции нет. А вся ошибка в ней. Если закомментировать то макс не вылетает ну и естественно плагин никакой не появляется. Это какая-то главная функция.
http://docs.autodesk.com/3DSMAX/15/ENU/3ds...ogrammer-Guide/
3ds Max SDK - The Learning Path/Lesson 7: Writing .Net Plug-ins
Ссылка на хелп
LabEG
ну тогда не знаю =) мне еще расти и расти =) как напишу еще две статейки. будет свободное время, попробую плагины к максу пописать =)
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.