Dotnet + MaxScript, Обсуждаем применение DotNet |
Home· Статьи · Вакансии · Чертежи · 3D Галерея · 2D Галерея · Форум · Форум Realtime | Реклама |  Конкурсы | RAR Award | Правила |
Здравствуйте, гость ( Вход | Регистрация )
Dotnet + MaxScript, Обсуждаем применение DotNet |
31/01/2010, 17:23
Сообщение
#1
|
|
Русскоговорящий жидо-бандеровец Группа: Пользователи Сообщений: 1 336 Регистрация: 16/07/2004 Из: Украина-Одесса Пользователь №: 6 600 |
Всем привет.
Думаю эта тема должна была появиться уже лет надцать назад, но лучше поздно, чем никогда. Итак для начала ссылки по теме http://msdn.microsoft.com/ru-ru/library/y4325aw3.aspx ---Элементы управления http://lonerobot.net/ CGSociety - dotNet + MXS - http://forums.cgsociety.org/showthread.php?f=98&t=551473 CGSociety - DotNet Tutorials or reference sites? - http://forums.cgsociety.org/showthread.php?f=98&t=658978 Paulneale.com - DotNet Tutorials: Treeview http://www.paulneale.com/tutorials/dotNet/dotNet.htm Paulneale.com - DotNet Tutorials: Listview - http://www.paulneale.com/tutorials/dotNet/dotNet.htm И пара скриптов и программка в помощь разработчикам Show DotNet Properties (Мое ) ShowProperties_DotNet.zip ( 3,22 килобайт ) Кол-во скачиваний: 701 Net Property Inspector (Martin Dufour - взял здесь ) Очень крутая утилита, иначе не скажешь! Очень удобно для настройки интерфейса MaxTroYx_PropertyInspector01.zip ( 10,44 килобайт ) Кол-во скачиваний: 637 http://sottnick.narod.ru/winsprus.htm Утилита для просмотра свойств окон, открытых в Windows, и объектов на них (видимых и невидимых) И еще - интерфейсы очень удобно строить в Visual Studio - спасибо Vitus за подсказку. -------------------------------------------------- Ну а дальше делимся опытом и задаем вопросы Довел до ума утилитку Теперь можно загружать объекты из dll, искать объекты с нужными свойствами, загружать в список связанные объекты и фильтровать список по части имени объекта. Удобное копирование и встроенная записная книжка. Спасибо за идеи Royal Ghost и Martin Dufour. Show Net Propety 2.01 Сообщение отредактировал ECXIMER - 07/11/2011, 10:44 |
|
|
31/01/2010, 17:38
Сообщение
#2
|
|
Рыцарь форума Группа: Пользователи Сообщений: 1 956 Регистрация: 08/01/2005 Из: Нижний Новгород Пользователь №: 9 336 |
Тему нужно закрепить однозначно
|
|
|
01/02/2010, 14:38
Сообщение
#3
|
|
Мастер Группа: Участник Сообщений: 1 280 Регистрация: 30/05/2006 Пользователь №: 32 013 |
Track, спасибо за утилиты!
В дополние, хочу обратить внимание на компонент TreeList ("DevExpress.XtraTreeList.TreeList"). Он поставляется вместе с максом, и бесплатен для пользователей. Очень интересный элемент интерфейса, используется в SceneExplorer. Подробнее про него можно почитать тут: http://devexpress.com/Products/NET/Control...orms/Tree_List/ И на CGSociety можно найти неколько тем по нему. |
|
|
02/02/2010, 13:51
Сообщение
#4
|
|
Русскоговорящий жидо-бандеровец Группа: Пользователи Сообщений: 1 336 Регистрация: 16/07/2004 Из: Украина-Одесса Пользователь №: 6 600 |
Спасибо за наводку на XtraTreeList.
Прошлый раз я невнимательно отнесся к этому компоненту- подумал, что он платный и потому забросил. А он и в самом деле встроен в макс. Но многие вещи в нем на мой взгляд отличаются от мелкософтовских компонент. Едва нашел как найти ноду под курсором.(CalcHitInfo "System.Drawing.Point) Ужасно раздражает, когда правой кнопкой не можешь выделить ноду-для вызова меню для конкретной ноды приходиться вначале ее выделять левой кнопкой. Код fn nodeMouseClick tv arg = ( pointTest = (dotNetObject "System.Drawing.Point" arg.x arg.y) if arg.button == tv.mousebuttons.right and (myNode=(tv.CalcHitInfo pointTest).Node)!=undefined then ( if not myNode.Selected then ( if not keyboard.controlPressed then tv.Selection.Clear() myNode.Selected=true ) contextmenu.Show tv pointTest ) ) Сейчас не могу найти такой простой вещи как определить имя ноды - то есть записать имя я записал, а как обратно вытянуть непонятно. И еще хочется для некоторых нод менять цвет фона, а получается только для всех сразу. Прикрепил файлик с образчиком, который ты мне когда-то закидывал. XtraTreeList_Test.rar ( 1,33 килобайт ) Кол-во скачиваний: 495 Спасибо. |
|
|
02/02/2010, 14:07
Сообщение
#5
|
|
Мастер Группа: Участник Сообщений: 1 280 Регистрация: 30/05/2006 Пользователь №: 32 013 |
Да, там с этим XtraTreeList всё совсем неочевидно. Это потому что, он по сути выдран из контекста, из комплексной среды разработки.
Там на http://devexpress.com можно скачать функциональную дему всего пакета, на два месяца, поставить её и поизучать в VS, как оно там что. Мне это помогло немного разобраться, но далеко не во всём, а щас забросил, не помню уже p.s. Но компонент очень гибкий и универсальный, стоит того чтобы позаморачиваться. Сообщение отредактировал [Vitus] - 02/02/2010, 14:10 |
|
|
02/02/2010, 14:31
Сообщение
#6
|
|
Русскоговорящий жидо-бандеровец Группа: Пользователи Сообщений: 1 336 Регистрация: 16/07/2004 Из: Украина-Одесса Пользователь №: 6 600 |
Ага-будет полезно.
В далеких планах написать какой-то нормальный image viewer для макса. Про имя разобрался Метод для TreeList.node .<System.String>GetDisplayText <System.Object>columnID |
|
|
03/02/2010, 19:59
Сообщение
#7
|
|
Русскоговорящий жидо-бандеровец Группа: Пользователи Сообщений: 1 336 Регистрация: 16/07/2004 Из: Украина-Одесса Пользователь №: 6 600 |
А порезали для макса XtraTreeList конкретно-
в полной версии - RestoreLayoutFromXml(string xmlFile, OptionsLayoutTreeList options); в максе только так RestoreLayoutFromXml(string xmlFile) В максе сохранять-загружать в xml можно только с дефолтными параметрами. А некоторые методы хоть и показываються, но не работают Код .ExportToHtml <System.String>fileName .ExportToHtml <System.IO.Stream>stream .ExportToMht <System.String>fileName .ExportToMht <System.String>fileName <System.String>htmlCharSet .ExportToMht <System.IO.Stream>stream <System.String>htmlCharSet <System.String>title <System.Boolean>compressed .ExportToMht <System.String>fileName <System.String>htmlCharSet <System.String>title <System.Boolean>compressed .ExportToPdf <System.String>fileName .ExportToPdf <System.IO.Stream>stream .ExportToRtf <System.IO.Stream>stream .ExportToRtf <System.String>fileName .ExportToText <System.String>fileName .ExportToText <System.IO.Stream>stream .ExportToXls <System.IO.Stream>stream .ExportToXls <System.String>fileName То есть можно только так. Код .ExportToXml <System.IO.Stream>stream .ExportToXml <System.String>xmlFile Так что порезали его по самые .... Я думаю, может самому писать в xml. Интересно, я по скорости выиграю так? Все-таки встроенный метод однозначно быстрей должен быть Сообщение отредактировал Track - 03/02/2010, 20:00 |
|
|
03/02/2010, 22:37
Сообщение
#8
|
|
Русскоговорящий жидо-бандеровец Группа: Пользователи Сообщений: 1 336 Регистрация: 16/07/2004 Из: Украина-Одесса Пользователь №: 6 600 |
Этот XtraTreeList несмотря на свою платность работает через ...
В общем при копировании части дерева id нод не меняются и пишутся в XML с id оригиналов. При загрузке дерева из XML -файла получаем полную кашу. В общем использовать его стоит на свой страх и риск - в любой момент можно столкнуться с багом. Пока что еще попробую использовать его, но с XML в любом случае придется разбираться для составления своей базы. По прикидкам в XML должно будет храниться дерево порядка 10 000 нод, а то и больше. Весьма интересно как он сможет это все переваривать. Ну и конечно насколько быстро. |
|
|
04/02/2010, 01:10
Сообщение
#9
|
|
Русскоговорящий жидо-бандеровец Группа: Пользователи Сообщений: 1 336 Регистрация: 16/07/2004 Из: Украина-Одесса Пользователь №: 6 600 |
Отлично - из xml загрузилось
58 089 нод за 1.7 секунды! Вот здесь кстати можно найти примеры по работе с XML и не только. http://paulneale.com/tutorials/dotNet/dotNet.htm Монолог продолжается. |
|
|
04/02/2010, 10:05
Сообщение
#10
|
|
Мастер Группа: Участник Сообщений: 1 280 Регистрация: 30/05/2006 Пользователь №: 32 013 |
Paul Neale, кстати неоднократно публично матюкался на XtraTreeList, но всё равно использовал
|
|
|
04/02/2010, 20:31
Сообщение
#11
|
|
Русскоговорящий жидо-бандеровец Группа: Пользователи Сообщений: 1 336 Регистрация: 16/07/2004 Из: Украина-Одесса Пользователь №: 6 600 |
Пока что еще не уверен, что буду его использовать, но скорей всего да.
Вот здесь нашел про перерисовку отдельной ноды Пока еще не разбирался как перевести это в макскрипт, но за этим надеюсь дело не станет. В принципе стоило сразу начинать искать в свойствах, методах и эвентах строчки с CustomDraw Теоретически все dotNetObjects должны иметь свойства для "ручной перерисовки" А в XtraTreeList, если я правильно понял, можно перерисовывать отдельные ноды, а не весь объект. |
|
|
15/02/2010, 14:56
Сообщение
#12
|
|
Знаток Группа: Пользователи Сообщений: 259 Регистрация: 25/11/2005 Пользователь №: 18 441 |
а можно както создать дотнетовский объект типа стринг, хотелось бы воспользоваться форматированием.
http://msdn.microsoft.com/ru-ru/library/0c899ak8.aspx Если возможно подскажите как? |
|
|
15/02/2010, 15:26
Сообщение
#13
|
|
Русскоговорящий жидо-бандеровец Группа: Пользователи Сообщений: 1 336 Регистрация: 16/07/2004 Из: Украина-Одесса Пользователь №: 6 600 |
dotNetObject "System.String" String
Оно? Сообщение отредактировал Track - 15/02/2010, 15:27 |
|
|
15/02/2010, 17:09
Сообщение
#14
|
|
Знаток Группа: Пользователи Сообщений: 259 Регистрация: 25/11/2005 Пользователь №: 18 441 |
да оно сам не пойму чё у меня не получалось
Спасибо |
|
|
17/03/2010, 17:03
Сообщение
#15
|
|
Знаток Группа: Пользователи Сообщений: 259 Регистрация: 25/11/2005 Пользователь №: 18 441 |
Такой вапрос, есть image=((dotnetclass "System.Drawing.Image").FromFile (iconPath+str+".png"))
Mожно потом както узнать имя файла для image? Mожно в image.tag записать стринг с именем файла? |
|
|
Bots |
Системное сообщение
|
|
|
|
|
Текстовая версия | Сейчас: 26/04/2024 - 01:37 |