dwg.ru forum rss xml
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > .NET > Создание Ribbon в Ревите(vb.net API)

Создание Ribbon в Ревите(vb.net API)

Версия для печати
 
Ответ
Опции темы Поиск в этой теме
Непрочитано 07.02.2017, 11:19 #1
Создание Ribbon в Ревите(vb.net API)
DEM
 
YngIngKllr
 
СПб
Регистрация: 29.03.2005
Сообщений: 12,632

DEM вне форума Вставить имя

Создал макрос в Ревите
Вставил полностью код следующего содержания...

Код:
[Выделить все]
Imports System.Collections.Generic
Imports System.Linq
Imports System.Text
Imports System.Threading.Tasks
Imports System.Reflection

Imports Autodesk.Revit.DB
Imports Autodesk.Revit.UI


Namespace GrimshawRibbon
	Class App
		Implements IExternalApplication
		' define a method that will create our tab and button
		Private Shared Sub AddRibbonPanel(application As UIControlledApplication)
			' Create a custom ribbon tab
			Dim tabName As String = "Grimshaw"
			application.CreateRibbonTab(tabName)

			' Add a new ribbon panel
			Dim ribbonPanel As RibbonPanel = application.CreateRibbonPanel(tabName, "Tools")

			' Get dll assembly path
			Dim thisAssemblyPath As String = Assembly.GetExecutingAssembly().Location

			' create push button for CurveTotalLength
			Dim b1Data As New PushButtonData("cmdCurveTotalLength", "Total" + System.Environment.NewLine + "  Length  ", thisAssemblyPath, "TotalLength.CurveTotalLength")

			Dim pb1 As PushButton = TryCast(ribbonPanel.AddItem(b1Data), PushButton)
			pb1.ToolTip = "Select Multiple Lines to Obtain Total Length"
			Dim pb1Image As New BitmapImage(New Uri("pack://application:,,,/GrimshawRibbon;component/Resources/totalLength.png"))
			pb1.LargeImage = pb1Image
		End Sub

		Public Function OnShutdown(application As UIControlledApplication) As Result
			' do nothing
			Return Result.Succeeded
		End Function

		Public Function OnStartup(application As UIControlledApplication) As Result
			' call our method that will load up our toolbar
			AddRibbonPanel(application)
			Return Result.Succeeded
		End Function
	End Class
End Namespace
Начинает ругаться на
Implements IExternalApplication
Код:
[Выделить все]
Class "App" должен реализовывать "Function OnStartup(application As UIControlledApplication) As Result" для интерфейса "Autodesk.Revit.UI.IExternalApplication". (BC30149) - E:\System\TMP\{8A2F5EF8-647D-4EAF-895C-109FF1BFC848}\Revit\DocHookups5404\38280000\Res\Source\Res\ThisDocument.vb:13,14
Не фига не пойму, пка, может есть пример создания Ribbon в Ревите...
__________________
Шаг 12й......
Мои публикации
Просмотров: 2810
 
Непрочитано 07.02.2017, 11:39
1 | #2
trir


 
Регистрация: 18.12.2010
Сообщений: 2,431


забыл Implements
Код:
[Выделить все]
		Public Function OnStartup(application As UIControlledApplication) As Result Implements IExternalApplication.OnStartup
			' call our method that will load up our toolbar
			AddRibbonPanel(application)
			Return Result.Succeeded
		End Function
trir вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 07.02.2017, 11:47
#3
DEM

YngIngKllr
 
Регистрация: 29.03.2005
СПб
Сообщений: 12,632


Грит
Цитата:
Class "App" должен реализовывать "Function OnShutdown(application As UIControlledApplication) As Result" для интерфейса "Autodesk.Revit.UI.IExternalApplication". (BC30149) - C:\ProgramData\Autodesk\Revit\Macros\2017\Revit\AppHookup\my\Source\my\ThisApplication.vb:13,14
PS. Давно я VB.NET не работал....
__________________
Шаг 12й......
Мои публикации
DEM вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 07.02.2017, 11:49
#4
trir


 
Регистрация: 18.12.2010
Сообщений: 2,431


... и не забудь для OnShutdown тоже самое
trir вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 07.02.2017, 12:18
#5
DEM

YngIngKllr
 
Регистрация: 29.03.2005
СПб
Сообщений: 12,632


Цитата:
Сообщение от trir Посмотреть сообщение
... и не забудь для OnShutdown тоже самое
Угу...
Подредактировал, ошибок при компиляции нету, но панель не появляется
__________________
Шаг 12й......
Мои публикации
DEM вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 07.02.2017, 12:31
#6
trir


 
Регистрация: 18.12.2010
Сообщений: 2,431


а как ты его к Revit'у привязал?
trir вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 07.02.2017, 12:45
#7
YarUnderoaker

Негропроект, инженегр-конструктор
 
Регистрация: 16.02.2008
Черкассы
Сообщений: 663


Разве можно для макросов рибон делать? Насколько я знаю, только для аддонов.
YarUnderoaker вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 07.02.2017, 12:50
#8
DEM

YngIngKllr
 
Регистрация: 29.03.2005
СПб
Сообщений: 12,632


АААА его надо еще в макросы вставить в
Код:
[Выделить все]
Private Sub Module_Startup(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Startup
	TaskDialog.Show("My First Macro", "Module_Startup" )
    End Sub
Или как то по другому???
Я просто с Ревит АПИ, только вчера начал пробовать заниматься..
__________________
Шаг 12й......
Мои публикации
DEM вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 07.02.2017, 13:06
#9
h5r32


 
Регистрация: 28.12.2011
СПб
Сообщений: 401


Цитата:
Сообщение от DEM Посмотреть сообщение
Или как то по другому???
Может поможет http://help.autodesk.com/view/RVT/20...4-D189510D3774
Я не программист , сам сижу думаю как бы на этот риборн прикрутить скрипт на питоне , без питон шелл...

Последний раз редактировалось h5r32, 07.02.2017 в 13:13.
h5r32 вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 07.02.2017, 14:38
#10
DEM

YngIngKllr
 
Регистрация: 29.03.2005
СПб
Сообщений: 12,632


Цитата:
Сообщение от h5r32 Посмотреть сообщение
Может поможет http://help.autodesk.com/view/RVT/20...4-D189510D3774
Я не программист , сам сижу думаю как бы на этот риборн прикрутить скрипт на питоне , без питон шелл...
Та мне то по фиг могу и на Пайтоне, но блина по пайтону еще меньше сорцев...
Тут самое главное вкурить структуру и последовательность выполнения...
Дальше все пойдет как по маслу...
Буду разбираться тоже, если у тя на пайтоне получится, свистни...
__________________
Шаг 12й......
Мои публикации
DEM вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 08.02.2017, 10:32
#11
miko2009

Инженер-конструктор
 
Регистрация: 13.10.2011
Москва
Сообщений: 2,071


Советую сначала ознакомиться с теорией, а потом практиковаться, без файла манифеста тут никак , а Python тут всего лишь инструмент и им нужно правильно пользоваться.
__________________
Enion BIM
miko2009 вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 09.02.2017, 11:37
#12
extraneous

Не верблюд
 
Регистрация: 07.06.2010
Москва
Сообщений: 1,073


Для знакомства с Revit API нужно установить SDK. Там есть большое количество готовых примеров, в том числе и по работе с Ribbon.
Для обучения посмотрите курс "Моя первая программа для Autodesk Revit": http://www.autodesk.ru/adsk/servlet/...36&id=20153867
В качестве справочника по API удобно использовать вот этот ресурс: http://www.revitapidocs.com/
Вот пример создания панели с одной кнопкой в C#. Разрабатывать приложения правильнее в Visual Studio (есть бесплатная версия Community), компилируя код в DLL и подключая в ревит через addin-файл (файл манифеста). В макросах SharpDevelop многое работает не так, как ожидалось.

Код:
[Выделить все]
using Autodesk.Revit.UI;
namespace Dimension3D
{
    [Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes.TransactionMode.Manual)]
    public class App : IExternalApplication
    {
        public Result OnStartup(UIControlledApplication application)
        {
            string assemblyPath = typeof(App).Assembly.Location;
            string tabName = "Weandrevit";
            application.CreateRibbonTab(tabName);

            RibbonPanel panel = application.CreateRibbonPanel(tabName, "Размеры2");
            PushButton btnDim3d = panel.AddItem(new PushButtonData(
                "Dim3d",
                "3d размер",
                assemblyPath,
                "Dimension3D.CommandDim3d")
                ) as PushButton;
            return Result.Succeeded;
        }
        public Result OnShutdown(UIControlledApplication application)
        {
            return Result.Succeeded;
        }
    }
}
__________________
Шаблон Revit для разделов КМ/КЖ
extraneous вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 09.02.2017, 12:31
#13
DEM

YngIngKllr
 
Регистрация: 29.03.2005
СПб
Сообщений: 12,632


в Ревит SDK пимеры в основном на С#....
Да и то по части 2017 г. тухловато там как то...
А уж по части пайтона http://www.revitapidocs.com/python/
Совсем печально, около 8 примеров всего да то половина толком не работает....
На пайтоне то и VB я нормально прогрммлю(по крайней мере и с OpenCV и с VLC и с Flask и т.д.), просто не могу пока понять структуру программы, да и с методами какая то запарка, у них, половина методов в 2017 не работает, те которое раньше работали.
Нужно бы несколько примеров на пайтоне или vb.net чтобы разобраться...
__________________
Шаг 12й......
Мои публикации
DEM вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 09.02.2017, 14:13
#14
extraneous

Не верблюд
 
Регистрация: 07.06.2010
Москва
Сообщений: 1,073


DEM, на vb там тоже есть примеры. Но вообще для Ревита надо бы C# изучить, так как под него больше всего примеров и документации...
__________________
Шаблон Revit для разделов КМ/КЖ
extraneous вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 09.02.2017, 15:18
#15
DEM

YngIngKllr
 
Регистрация: 29.03.2005
СПб
Сообщений: 12,632


Цитата:
Сообщение от extraneous Посмотреть сообщение
на vb там тоже есть примеры
ПФФФ...
Там такие примеры которые, не работают даже, т.к. сделаны для Revit2013
По сути то разницы нету особой, между С# и VB
Синтаксис чутка отличается...
Вот тут более менее актуальные примеры есть...
https://github.com/ADN-DevTech/RevitTrainingMaterial

----- добавлено через ~6 ч. -----
Собсно если кого заинтересует..
Разработка за деньги
http://forum.dwg.ru/showthread.php?p...60#post1616660
__________________
Шаг 12й......
Мои публикации

Последний раз редактировалось DEM, 09.02.2017 в 15:38.
DEM вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 13.02.2017, 15:15
#16
DEM

YngIngKllr
 
Регистрация: 29.03.2005
СПб
Сообщений: 12,632


Нашел на ГитХабе примеры создания Риббонов.
Так что вопрос закрыт...
https://github.com/ADN-DevTech/Revit...evit_API_Intro
__________________
Шаг 12й......
Мои публикации
DEM вне форума вставить имя Обратить внимание модератора на это сообщение  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > .NET > Создание Ribbon в Ревите(vb.net API)

Инженерные консультации
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C# .net Создание Layout для чертежей, оформленных в модели bargool Готовые программы 527 20.09.2017 01:15
Создание диалоговых окон в AutoCAD TwoZero Программирование 145 11.03.2015 18:15
С чего начать создание модели металлоконструкции? Vitaliy_Bazanin Металлические конструкции 82 06.04.2014 10:50
Помогите с созданием команды. Создание точки с вставкой отметки Z из выбранного текста Tablatura AutoCAD 5 02.08.2013 13:57
Одна из целей: Создание экспертных систем на базе AutoCAD. Сергей Юрьевич Программирование 9 01.01.2005 15:17

|| Главная || Каталог САПР || Тендеры || Публикации || Объявления || Биржа труда || Download || Галерея ||
|| Библиотека || Кунсткамера || Каталог предприятий || Контакты || Файлообменник || Блоги ||


Размещение рекламы