Перейти к содержанию

gizmo_zx

Пользователи
  • Публикаций

    8
  • Зарегистрирован

  • Посещение

Репутация

2 Обычный

Информация о gizmo_zx

  • Звание
    Новичок
  1. Подскажите как промотреть все сообщения темы одной страницей? http://forum.nanocad.ru/index.php?showtopic=5130 &all - не прокатило?
  2. Бодрого дня. Аналогичная ситуация. Коммерческая лицензия на 30 рабочих мест для версии 5.1 - как продлить?
  3. Огромное спасибо. Заработало... <CommandMethod("u_dba", CommandFlags.UsePickSet)> _ Public Sub bx_HelloWorld8() '' Получение текущего документа и базы данных Dim acDoc As Document = Application.DocumentManager.MdiActiveDocument Dim acCurDb As Database = acDoc.Database Dim acEd As Editor = acDoc.Editor Dim dp_str As String Dim dp_pres As PromptResult Dim dp_dbl, dp_dbl2 As Double '' Старт транзакции Using acTrans As Transaction = acCurDb.TransactionManager.StartTransaction() '' Запрос выбора объектов в области чертежа Dim acSSet As PromptEntityResult = acDoc.Editor.GetEntity("Select :") ' Если статус запроса равен OK, объекты выбраны If acSSet.Status = PromptStatus.OK Then '' Проверка, нужно убедится в правильности полученного объекта If Not IsDBNull(acSSet) Then '' Открытие объекта для записи Dim acEnt As Entity = acTrans.GetObject(acSSet.ObjectId, _ OpenMode.ForWrite) If acEnt <> Nothing Then If TypeOf acEnt Is BlockReference Then Dim acBlock As BlockReference acBlock = CType(acEnt, BlockReference) Dim blName As String = acBlock.Name Dim col As DynamicBlockReferencePropertyCollection = acBlock.DynamicBlockReferencePropertyCollection 'Dim col As DynamicBlockReferencePropertyCollection = acEnt. For Each dp As DynamicBlockReferenceProperty In col 'acEnt.WriteMessage(vbLf & "Name= {0} Value = {1}", dp.PropertyName, dp.Value) 'acEd.WriteMessage(vbCrLf & "Name= " & dp.PropertyName.ToString() & " Value= [" & dp.Value.ToString() & "]") If Mid(dp.PropertyName, 1, 4) = "Угол" Then dp_dbl2 = dp.Value * 180 / Math.PI dp_pres = acEd.GetString(vbCrLf & "Name= " & dp.PropertyName.ToString() & " Value= [" & dp_dbl2.ToString() & "]") dp_str = CType(dp_pres.ToString(), String) If dp_str <> "(OK,)" Then dp_dbl = Val(Mid(dp_str, 5)) acEd.WriteMessage(vbCrLf & dp_dbl.ToString) dp_dbl = dp_dbl * Math.PI / 180 dp.Value = dp_dbl End If Else acEd.WriteMessage(vbCrLf & "Name= " & dp.PropertyName.ToString() & " Value= [" & dp.Value.ToString() & "]") End If Next End If End If End If 'Next ' Сохранение нового объекта в базе данных acTrans.Commit() End If '' Очистка транзакции End Using End Sub Использую динамические блоки из Autocad. Есть параметр поворота (Угол). Иногда в Nanocad не получается выставить правильный угол маркером (крутилкой). В Acad этот парамет в панели свойств показывает. Програмка теперь выдает в командную строку запрос на угол.
  4. Бодрого дня. Есть задача добраться до параметров динамического блока в Nanocad . :facepalm: Есть пример в Autocad. <CommandMethod("bx_HelloWorld8", CommandFlags.UsePickSet)> _ Public Sub bx_HelloWorld8() '' Получение текущего документа и базы данных Dim acDoc As Document = Application.DocumentManager.MdiActiveDocument Dim acCurDb As Database = acDoc.Database '' Старт транзакции Using acTrans As Transaction = acCurDb.TransactionManager.StartTransaction() '' Запрос выбора объектов в области чертежа Dim acSSPrompt As PromptSelectionResult = acDoc.Editor.GetSelection() '' Если статус запроса равен OK, объекты выбраны If acSSPrompt.Status = PromptStatus.OK Then Dim acSSet As SelectionSet = acSSPrompt.Value '' Перебор объектов в наборе For Each acSSObj As SelectedObject In acSSet '' Проверка, нужно убедится в правильности полученного объекта If Not IsDBNull(acSSObj) Then '' Открытие объекта для записи Dim acEnt As Entity = acTrans.GetObject(acSSObj.ObjectId, _ OpenMode.ForWrite) If acEnt <> Nothing Then Dim col As DynamicBlockReferencePropertyCollection = acEnt.DynamicBlockReferencePropertyCollection 'Dim col As DynamicBlockReferencePropertyCollection = acEnt. For Each dp As DynamicBlockReferenceProperty In col 'acEnt.WriteMessage(vbLf & "Name= {0} Value = {1}", dp.PropertyName, dp.Value) Application.ShowAlertDialog("Name= {0} Value = {1}", dp.PropertyName, dp.Valu) Next End If End If Next '' Сохранение нового объекта в базе данных acTrans.Commit() End If '' Очистка транзакции End Using Проблеммы с Dim col As DynamicBlockReferencePropertyCollection = acEnt.DynamicBlockReferencePropertyCollection "DynamicBlockReferencePropertyCollection" не является членом "Teigha.DatabaseServices.Entity" Есть какие варианты это объехать?
  5. Бодрого дня. Не печатается подложка dwg. Да же в предварительном просмотре только часть (кусок) отображается. nanoCAD 5.1
  6. Dim app As Object, ThisDrawing As Object Dim ms As Object, ut As Object, line As Object app = CreateObject("nanoCAD.Application") ThisDrawing = app.ActiveDocument ms = ThisDrawing.ModelSpace ut = ThisDrawing.Utility ' not used further down... ' correction of your code... Dim pt0(2) As Double, pt1(2) As Double ' pt0 has initial values : 0 0 0 pt1(0) = 1000 pt1(1) = 1000 pt1(2) = 1000 line = ms.AddLine(pt0, pt1)
  7. Бодрого дня. Из VBA Excel все ОК. Как запустить из VBA Openoffice. Ругается на первую строку (Dim app As nanoCAD.Application). В Excel лазил tool->references прицеплял "nanocad tipe library", в VBA Openoffice ничего подобного не нашел. Help. Sub NANO() Dim app As nanoCAD.Application Set app = GetObject("", "nanoCAD.Application") app.Visible = True Dim ThisDrawing As nanoCAD.Document Set ThisDrawing = app.ActiveDocument Dim ms 'As AcadModelSpace Set ms = ThisDrawing.ModelSpace Dim ut As nanoCAD.Utility Set ut = ThisDrawing.Utility Dim line 'As AcadLine Dim pt0(2), pt1(2) As Double pt0(0) = 0 pt0(1) = 0 pt0(2) = 0 pt1(0) = 1000 pt1(1) = 1000 pt1(2) = 1000 Set line = ThisDrawing.ModelSpace.AddLine(pt0, pt1) End Sub
  8. Бодрого дня. Принтер HP Designjet 500 plus 24 Выбираю формат листа "Oversize A3" и поля съедуют красную рамку (границы листа) см. скриншон. Соответственно при печати не печатает границу листа. При печати из Autocad и размере бумаги Oversize A3 чертеж выходит 1:1 и границы листа печатаются. Помогает только вручную подбирать формат листа больший чем А3, что не всегда удобно. Параметр вписать не устраивает. Куда копать? Сам себе отвечу. http://forum.nanocad.ru/index.php?showtopic=4404&view=findpost&p=14136 (поиск не нашел тему )
×
×
  • Создать...