Jump to content

maratovich

Клуб разработчиков
  • Posts

    115
  • Joined

  • Last visited

  • Days Won

    9

Posts posted by maratovich

  1. 54 минуты назад, kpblc сказал:

    Позволю себе сволочной вопрос: а почему и зачем?

    Почему - Сам бы хотел знать, методом научного тыка обнаружилось, без этого не работает. Может быть влияет установка 17 версий разных CAD и нано из них 7. Причем в чистом VB.net не работает и не будет и в автокаде тоже.

    Зачем - чтобы работало и копипастило в другой блок.

  2. Всем спасибо.

    По выше приведённому не заработало.

    Потратил сутки, но нашел решение, может кому пригодится :

    Нужно внутри команды параметры заключать во внутренние скобки

    retObjects = DOC1.CopyObjects((objCollection), (DOCOrg.ModelSpace))

     

    • Thanks 1
  3. 26 минут назад, Robink сказал:

    Как я в Excel отключу библиотеки, тогда работать не будет. 

    Какой у Вас NC? Какой проект создаете? Скрипт или что?

    Отключить  - В референсах две галочки уберите

    NC любой. ну конечно 5.1 и выше, сейчас тестирую на 22

    dll, exe VB6, VB.net, C#

     

  4. 7 минут назад, Robink сказал:

    Работает. Проверил через VBA Excel

     

    test_copyobjects.xlsm 16 \u043a\u0411 · 0 загрузок

    Отключите библиотеки нанокада чтобы не было As nanoCAD.Document

    Чтобы чистая среда была и работал только Set App = GetObject(, "nanoCAD.Application") как он должен быть.

     

     

    добавлено через 2 минуты
    1 минуту назад, kpblc сказал:

    Точнее, "только COM" ? :)

    Да, как и положено. B Marshal.GetActiveObject вообще беда.

  5. 12 минут назад, kpblc сказал:

    А можно пример кода, чтоб не придумывать?

    Sub Example_CopyObjects()
        ' This example creates a Circle object and uses the CopyObjects
        ' method to make a copy of the new Circle.
    
        Dim DOCOrg As AcadDocument
        Dim DOC1 As AcadDocument
        Dim circleObj1 As AcadCircle, circleObj2 As AcadCircle
        Dim circleObj1Copy As AcadCircle, circleObj2Copy As AcadCircle
        Dim centerPoint(0 To 2) As Double
        Dim radius1 As Double, radius2 As Double
        Dim radius1Copy As Double, radius2Copy As Double
        Dim objCollection(0 To 1) As Object
        Dim retObjects As Variant
        
        ' Define the Circle object
        centerPoint(0) = 0: centerPoint(1) = 0: centerPoint(2) = 0
        radius1 = 5#: radius2 = 7#
        radius1Copy = 1#: radius2Copy = 2#
        
        ' Store current drawing
        Set DOCOrg = ThisDrawing.Application.ActiveDocument
        
        ' Create a new drawing
        Set DOC1 = Documents.Add
        
        ' Add two circles to the drawing
        Set circleObj1 = DOC1.ModelSpace.AddCircle(centerPoint, radius1)
        Set circleObj2 = DOC1.ModelSpace.AddCircle(centerPoint, radius2)
        ThisDrawing.Application.ZoomAll
        
        ' Copy objects
        '
        ' First put the objects to be copied into a form compatible with CopyObjects
        Set objCollection(0) = circleObj1
        Set objCollection(1) = circleObj2
        
        ' Copy object and get back a collection of the new objects (copies)
        ThisDrawing.Application.ActiveDocument = DOCOrg
        retObjects = DOC1.CopyObjects(objCollection, DOCOrg.ModelSpace)
        
        ' Get newly created object and apply new properties to the copies
        Set circleObj1Copy = retObjects(0)
        Set circleObj2Copy = retObjects(1)
        
        circleObj1Copy.Radius = radius1Copy
        circleObj2Copy.Radius = radius2Copy
            
        ThisDrawing.Application.ZoomAll
        
        MsgBox "Circles copied."
    End Sub

     

    добавлено через 2 минуты
    3 минуты назад, Robink сказал:

    Речь про .Net? 

    Юзаю

    WblockCloneObjects

     

    VBA, VB6, VB.Net, C#

    И COM

  6. Через COM взаимодействие аналогично - ФАТАЛ нанокада.

    Вот пользователи обрадуются когда перейдут на 22 версию.

    Опять в новой версии всё поломали.

    Лучше бы вообще не трогали. Зачем изобретать свой велосипед, если у всех конкурентов работает стабильно изученный алгоритм.

    Устроили очередную подставу с изменением названия форматов.

    Приходится под каждую версию нанокада переписывать программы.

    Господа разработчики, зачем вы тратите время и деньги ходя по кругу ?

     

    • Like 2
  7. Парни, если честно - я вообще то автора спрашивал.

    У меня вообще с этим проблем нет. И решение своё есть. Нажал две кнопки - распечатал в PDF 100500 форматов, сразу нажал две другие кнопки и пошла печать на физический.

    И хотелось обсудить с автором, может быть ему бы помогло.

     

    • Thanks 2
    • Haha 1
  8. Решено собрать все основные и нужные функции для обработки PDF файлов в одной программе.
    Под это создал программу - АвтоРедакторПДФ
    На данный момент добавлено :
    - нумерация страниц;
    - объединение PDF файлов;
    - разделение файла PDF на отдельные страницы;
    - поворот страниц;
    - удаление страниц;
    - экспорт в различные форматы;
    - работа со слоями;
    - разделение цветных и ЧБ страниц.

    Обработка как одного файла, так и множества сразу.

    В планах добавление любых других нужных команд (если оно вообще реализуемо).

    У кого есть пожелания и предложения - пишите, добавлю.

     

    Страница программы - http://www.kdmsoft.ru/autoeditorpdf.html

    АвтоРедакторПДФ.jpg

    • Like 4
    • Thanks 1
  9. В 17.12.2020 в 16:54, СПиС сказал:

    Ситуация:
    При выборе устройства печати, происходит смещение содержимого на листе. (показано на видео)

    Наш рабочий процесс требует печатать как на pdf, так и на принтер,

     

    Как успехи в решении проблемы ?

    Можете приложить файл примера ?

  10. 39 минут назад, EdwardSt сказал:

    А команда СМЕНАПРОСТР (СМЕНА ПРОСТРАНСТВА) не решает ваших задач?

    Это совсем другая команда.

    EXPORTLAYOUT переносит лист в пространство Модель в новый файл.

    40 минут назад, EdwardSt сказал:

    стати, EXPORTLAYOUT в акаде работает аналогично, с запросом имени файла.

    Главное слово - "работает", но в нанокаде не до конца.

    В Автокаде если FILEDIA=0, то окно не появляется. И можно использовать EXPORTLAYOUT в лиспе. В Нанокаде окно останавливает весь процесс.

  11. Суть в том в нанокаде не реализован доступ к публикации на программном уровне.
    Поэтому именно публикация всех форматов не запускается.
    Решение - Запускать через кнопку "Печать" на встроенный принтер ПДФ, предварительно в настройках Реверс указать имя выходного файла одинаковое для всех, а в настройках принтера отменить открытие pdf файла после печати.
    И тогда на выходе получим многолистовой pdf

  12. Компас справляется с поставленными задачами?

    50/50

     

    Так зачем покупать новый?

    С радостью бы на всю контору взяли обновление - если сделают то, что мы хотим. Там ещё и Лоцман. Хозяина ценник в 5 млн не испугал, но мы сами против, на новые грабли не хотим напороться.

    Уже некоторые не грамотные стали заглядываться на Волт с Инвертором, но это ещё хуже в нашей ситуации.

  13. Как пример - Компас, разработчики забили на отзывы пользователей. В результате - очень узкий круг пользователей, без желания переходить на новые версии.

    У нас как работали в Компас 14, так и остались, хотя каждый год к нам приходят и пытаются впихнуть новую версию.

  14. Это хорошо что вы спрашиваете у пользователей чего им надо :)

    Только сделать надо немного по другому :

    если уж при включенной сетке у вас продажи повышаются, то по умолчании оставить, НО !!! Но сделать возможность автоматического отключения во всех открываемых файлах.

    Т.е. - стартанул в первый раз нанокад - сетка есть все довольны, а мне не нравится - залез в настройки, поставил галочку автоотключение - и потом всегда у меня во всех открываемых файлах сетка будет отключена автоматом. А то от смежников приходит это "окно в камере в клеточку", приходится постоянно тыкать отключение. И кстати не надо шаблон портить.

    Вотъ.

    • Like 1
×
×
  • Create New...