Перейти к публикации

SolidWorks API конвертация чертежей SLDDRV в PDF при помощи виртуального принтера


Рекомендованные сообщения

Здравствуйте! Возникла проблема при попытке конвертнуть SLDDRW чертеж в PDF c помощью  печати на виртуальный принтер  bullzip

1) Проблема заключается в том что данный код нормально работает при печати  А3, но не применяется изменения к А4 (Линии чертежа жирные, ориентация не меняется).

2) Любопытно узнать как поменять толщину линий. 

3) Что лучше применять swPageSetupInUse_e.swPageSetupInUse_DrawingSheet или swPageSetupInUse_e.swPageSetupInUse_Application если настройки задаются каждому листу отдельно.

 

 

В теме привожу ключевые участки кода, остальной код в аттаче

 

static public void Main(string[] args)
        {
            swApp = System.Runtime.InteropServices.Marshal.GetActiveObject("SldWorks.Application") as SldWorks;
            swModel = swApp.ActiveDoc;


            swModelDocExt = swModel.Extension;
            // Применять к: чертежу, приложению, документу...
            swModelDocExt.UsePageSetup = (int)swPageSetupInUse_e.swPageSetupInUse_DrawingSheet;// (int)swPageSetupInUse_e.swPageSetupInUse_Application


            IDrawingDoc drawingDoc = swModel as IDrawingDoc;


            PageSetup pageSetup;
            string[] sheetNames = drawingDoc.GetSheetNames();
            
           // Перембераем листы...
            foreach (var sheetName in sheetNames)
            {
                drawingDoc.ActivateSheet(sheetName);  
                sheet = drawingDoc.GetCurrentSheet(); 
                // PageSetup позволяет задавать настройки принтера. если установлено swPageSetupInUse_e.swPageSetupInUse_Application/document - то 
                // для всех четрежей, если  swPageSetupInUse_e.swPageSetupInUse_DrawingSheet - для активного. 
                pageSetup = sheet.PageSetup;  
                 // Массив параметров листа...
                var sheetPropertis = (double[])sheet.GetProperties2();  
                Orientation(pageSetup, sheetPropertis);
                printSpec = (PrintSpecification)swModelDocExt.GetPrintSpecification(); 
               // Печатаем каждую итерацию выбраный лист, а потом соеденим все файлы (Сделано было так что бы применить настройки к каждому чертежу по
               // отдельности)
                printSpec.ScaleMethod = (int)swPrintSelectionScaleFactor_e.swPrintCurrentSheet;
                printSpec.PrintToFile = false;
                swModelDocExt.PrintOut4("", "", printSpec);
            }


            printSpec.RestoreDefaults();
            printSpec.ResetPrintRange();
            printSpec.PrinterQueue = ""; 
            Console.ReadLine();
        }

.

Program.txt

Изменено пользователем tenomo
Ссылка на сообщение
Поделиться на других сайтах


Возникла проблема при попытке конвертнуть SLDDRW чертеж в PDF c помощью печати на виртуальный принтер bullzip
Как вариант использовать макрос конвертации через PDFCreator: http://cccp3d.ru/topic/82176-как-конвертировать-формат-файла/?p=770132
Ссылка на сообщение
Поделиться на других сайтах

Мне нужно печатать программно для того что бы кидать таски в PDM, разве что снова таки программно запустить макрос.

Но именно его я брал пример для реализации выше описного кода. 

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.
Примечание: вашему сообщению потребуется утверждение модератора, прежде чем оно станет доступным.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.




  • Сообщения

    • gudstartup
      @FitchKrause проверяйте кабели мотора и датчика прозвоните изоляцию мотора. подключитесь к приводу с помощью по и посмотрите может еще какие ошибки есть. если как вы пишите ошибка возникает даже во время простоя тогда для проверки отключите силовой кабель двигателя и посмотрите будет ли возникать ошибка если она перестанет появляться то дело в моторе или кабеле если нет тогда датчик или сам привод виноваты  
    • FitchKrause
      Ошибка происходит даже если станок простаивает, его не клинит после смены инструмента, 30 минут работает без вопросов, а затем просто выдает ошибку и блокирует серво-турель. И проблема только с этим, по осям x и z, в режиме jog, ref и handle ходит спокойно. Манометры тоже не показывают каких либо проблем. "Кулачок", который держит заготовку тоже работает исправно.
    • Anat2015
      Не корректировать надо, а разбираться в причине перегрузки. Может у вас голова клинит где-то. Зажим у нее вроде бы гидравлический, по симптомам вполне возможно, что тут проблема.
    • TVM
      Согласен, что не всё так уж страшно, но повторюсь, не все так просто.
    • Koels
      Всем привет. Фанук Professional 3. Станок Makino V 55. Передодически вылазит ошибка "609 Z axis: inv. Radiator fan Failure". Вылазит она в рандомное время, может во время работы, может в простое станка. Менял вентеляторы на Ориг. Все привода включая этот полностью вымывал, до блеска. Сам по себе привод не горячий. Ещё до меня говорили, что эта ошибка была и раньше, они просто меняли привод на новый, тот работал пол года, выскакивала опять ошибка и по старой схеме, новый привод и на пол года. Щас мне нужно разобраться в чем дело, и сам понять не могу. Может можно как то в параметрах забить максимальную температуру для привода,  в книжках не видел такого
    • The_22nik
      Доброе время суток, коллеги!   Решил попробовать ускорить процесс создания разрезов на чертеже. Для больших сборок процесс занимает по 2-5 минут, неприятно. Можно сделать разрез в самой модели и перетащить её в чертеж. Все относительно нормально, но не получается отобразить обстановку (конверт) на таком разрезе.
    • FitchKrause
      Посмотрел по контроллеру ошибку(контроллер veichi sd700-5r5a-fa-d), в документации следующее Получается происходит перегрузка, теперь вопрос состоит в том как его подкорректировать,
    • FitchKrause
      Так залез значит в заднюю часть станка и там он мне пишет ошибку Er.720. Так я полазил и ещё нашел книжку по серво-туреле, но она то ли на китайском, то ли японском.
    • ДОБРЯК
      Программа которой вы пользуетесь определяет М ПЕРВЫХ собственных чисел и векторов для матриц размером NxN. М много-много меньше N. Поищите в интернете алгоритмы, которые решают именно эту задачу. И вы увидите и поймете, что нужно сделать численную факторизацию матрицы жесткости. 
    • ДОБРЯК
      Много что есть на белом свете...:=) Если собственная частота = 0, а это тот случай о котором идет речь, то как вы найдете единственный собственный вектор. Только не говорите в качестве аргумента, что кто-то что-то знает....:=)
×
×
  • Создать...