| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Защита DWG при передаче заказчику

Защита DWG при передаче заказчику

Ответ
Поиск в этой теме
Непрочитано 28.12.2006, 17:14 1 |
Защита DWG при передаче заказчику
VVA
 
Инженер LISP
 
Минск
Регистрация: 11.05.2005
Сообщений: 6,990

Начну, как говорится, в старом.
Первый вариант лиспа для защиты чертежа путем трасировки объектов в линии и конвертации оных в текст.
Имеем:
- Чертеж, который можно распечатать
- Чертеж, в котором можно включать/отключать слои
- Чертеж, в котором можно создавать объекты или удалять
Невозможно:
- Пользоваться привязками, т.к объекты - тексты, что в принципе делает неинтересной работу с документом кроме как распечатать.

Пока-что не обрабатываются мультилии и сложные типы линий.

Вложения
Тип файла: rar 1167315503.rar (6.1 Кб, 2397 просмотров)


Последний раз редактировалось VVA, 03.11.2010 в 17:05. Причина: добавил vl-load-com
Просмотров: 51577
 
Непрочитано 03.11.2010, 19:01
#41
kp+

идущий по граблям
 
Регистрация: 26.05.2005
Сообщений: 5,085


+1!
kp+ вне форума  
 
Непрочитано 03.11.2010, 19:01
#42
РастОК

Конструктор-Проектировщик
 
Регистрация: 24.12.2008
Сообщений: 2,588


Цитата:
Сообщение от gomer Посмотреть сообщение
А перечертить то, что вы накалякали любой техник за день сможет
Видно вы не видели огромных объёмов с большой насыщенностью...
РастОК вне форума  
 
Непрочитано 03.11.2010, 19:22
#43
Vova

Engineer
 
Регистрация: 05.09.2003
New-York
Сообщений: 10,288


Огромные объемы с большой насыщенностью обычно есть уникальные объекты, которые никому кроме конкретного заказчика не нужны. Их передирать с целью украсть и выдать за свое никто не будет
Vova вне форума  
 
Непрочитано 03.11.2010, 19:24
#44
alex_bay

Конструктор
 
Регистрация: 08.10.2004
Саратов
Сообщений: 1,000


Цитата:
Сообщение от Vova Посмотреть сообщение
Огромные объемы с большой насыщенностью обычно есть уникальные объекты, которые никому кроме конкретного заказчика не нужны. Их передирать с целью украсть и выдать за свое никто не будет
Не скажи.. Бывают такие умники. Мне пришлось встретить таких аж 2 штуки.
alex_bay вне форума  
 
Непрочитано 04.11.2010, 10:57
#45
Ыых


 
Регистрация: 27.08.2010
Сообщений: 61


Да и хрен с ними, с заказчиками....просто иногда обидно...что какие-то левые проектные организации пользуются твоими наработками....
Ыых вне форума  
 
Непрочитано 04.11.2010, 11:46
#46
357

бывший...
 
Регистрация: 13.08.2009
Краснодар
Сообщений: 1,171
<phrase 1=


Цитата:
Сообщение от РастОК Посмотреть сообщение
потом этот файлик с помощью нехитрых программ-переводчиков из растрового изображения перевести обратно в векторное
Поделись: какой программой это делается?

Цитата:
Сообщение от РастОК Посмотреть сообщение
Единственный минус насколько я знаю - это всё будет разбитое на примитивы
С полгодика назад пытался я эту работу сделать: найденные программы разбивают изображение не просто на примитивы, а на примитивные примитивы... Например, размер разбивается отдельно на
- размерный текст
- выносные линии
- засечки
- удлиннение за выносные линии
- и т.д.
Штриховка разбивается на отдельные линии и точки
Все линии вне зависимости от исходной толщины имеют нулевую толщину...
357 вне форума  
 
Непрочитано 04.11.2010, 12:26
#47
РастОК

Конструктор-Проектировщик
 
Регистрация: 24.12.2008
Сообщений: 2,588


Цитата:
Сообщение от 357 Посмотреть сообщение
Поделись: какой программой это делается?
Google вам в помощь. Спросите у него про Программы преобразования растровых изображений в векторные...



Цитата:
Сообщение от Vova Посмотреть сообщение
Огромные объемы с большой насыщенностью обычно есть уникальные объекты, которые никому кроме конкретного заказчика не нужны. Их передирать с целью украсть и выдать за свое никто не будет
Ага. Тот же склад 60х30 метров легко превращается .... в склад 30х30, 30х40, 30х50 метров. А чертежей там под 30. Перечерчивать будет прилично, а вот удалить ненужное на порядок быстрее...

P.S. Я против таких переделок, просто знаю, что их делают и как их делают.
РастОК вне форума  
 
Непрочитано 04.11.2010, 13:24
#48
357

бывший...
 
Регистрация: 13.08.2009
Краснодар
Сообщений: 1,171
<phrase 1=


Цитата:
Сообщение от РастОК Посмотреть сообщение
Google вам в помощь. Спросите у него про Программы преобразования растровых изображений в векторные...
Я-то думал, что ты говоришь как специалист, а оказалось - простой теоретик...
Или покажешь переконвертированные и исправленные тобою файлы? Без них твоя ссылка на поисковик - пустышка
357 вне форума  
 
Непрочитано 04.11.2010, 13:52
#49
РастОК

Конструктор-Проектировщик
 
Регистрация: 24.12.2008
Сообщений: 2,588


Цитата:
Сообщение от 357 Посмотреть сообщение
Я-то думал, что ты говоришь как специалист
Нет, я не специалист по передиранию чужих проектов.

Цитата:
Сообщение от 357 Посмотреть сообщение
Или покажешь переконвертированные и исправленные тобою файлы? Без них твоя ссылка на поисковик - пустышка
Я файлы никогда не исправлял и не переделывал под себя, но знаю как это сделать если понадобиться. А показывать как это сделать на примере - искать хорошую программу конвертер (небесплатную и пролеченную) не вижу смысла. Доказывать с пеной у рта, что это можно сделать и тратить на это время я не буду. Кто разбирается в данном вопросе и сам может это сделать - основные принципы и инструменты действия изложены выше. Если человек понял как это можно сделать, он это сделает, если нет - то он либо не понял, либо плохо старался чтобы добиться результата. Вы 357 к какой категории относитесь?
РастОК вне форума  
 
Непрочитано 04.11.2010, 14:04
#50
357

бывший...
 
Регистрация: 13.08.2009
Краснодар
Сообщений: 1,171
<phrase 1=


Красивые слова...
Но ведь это не доказательство знаний и умения, а ... оправдание всего лишь красивым словам
357 вне форума  
 
Непрочитано 04.11.2010, 15:00
#51
РастОК

Конструктор-Проектировщик
 
Регистрация: 24.12.2008
Сообщений: 2,588


и всё-же вы не ответили
Цитата:
Сообщение от РастОК Посмотреть сообщение
Вы 357 к какой категории относитесь?
РастОК вне форума  
 
Непрочитано 04.11.2010, 15:17
#52
357

бывший...
 
Регистрация: 13.08.2009
Краснодар
Сообщений: 1,171
<phrase 1=


Цитата:
Сообщение от РастОК Посмотреть сообщение
и всё-же вы не ответили
И с удовольствие это делаю, поскольку вопрошающий эту работу делать не умеет
Цитата:
Сообщение от РастОК Посмотреть сообщение
Я файлы никогда не исправлял и не переделывал под себя, но знаю как это сделать если понадобиться
хоть и заявляет, что сделает, когда ему понадобитЬся
357 вне форума  
 
Непрочитано 27.12.2010, 10:29
#53
red-white19


 
Регистрация: 05.06.2010
Сообщений: 4


Друзья, подскажите, пожалуйста, как этим LiSPом воспользоваться??? Ввожу команду после defun, но либо "неверная команда", либо запрос каких-либо данных, а каких именно - не могу понять. Буду очень признателен помощи!
red-white19 вне форума  
 
Непрочитано 27.12.2010, 10:42
#54
Лиспер


 
Регистрация: 11.10.2010
Сообщений: 980


http://dwg.ru/pub/9
__________________
(/= RegDate StartReadDate)
Лиспер вне форума  
 
Автор темы   Непрочитано 27.12.2010, 10:50
#55
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,990
<phrase 1= Отправить сообщение для VVA с помощью Skype™


red-white19, Прежде ознакомьмся с FАQ №2: Как защитить свой файл от изменения/копирования объектов и т.п.
Цитата:
Однако не существует идеального способа защиты.
Защита от редактирования !!! - http://www.caduser.ru/forum/index.ph...2343&PAGEN_1=2

Код:
[Выделить все]
;Restore line from %%U text
;Text to Line
;_http://www.caduser.ru/forum/index.php?PAGE_NAME=message&FID=2&TID=32343&PAGEN_1=2
(defun C:T2L ( / txt_to_line mip:layer-status-restore mip:layer-status-save *error*)
(defun *error* (msg)(princ msg)(mip:layer-status-restore)(princ))
(defun mip:layer-status-restore ()
    (foreach item *MIP_LAYER_LST*
      (if (not (vlax-erased-p (car item)))
        (vl-catch-all-apply
          '(lambda ()
             (vla-put-lock (car item) (cdr (assoc "lock" (cdr item))))
             (vla-put-freeze (car item) (cdr (assoc "freeze" (cdr item))))
             ) ;_ end of lambda
          ) ;_ end of vl-catch-all-apply
        ) ;_ end of if
      ) ;_ end of foreach
    (setq *MIP_LAYER_LST* nil)
    ) ;_ end of defun
  (defun mip:layer-status-save ()
    (setq *MIP_LAYER_LST* nil)
    (vlax-for item (vla-get-layers *kpblc-activedoc*)
      (setq *MIP_LAYER_LST* (cons (list item
                                  (cons "freeze" (vla-get-freeze item))
                                  (cons "lock" (vla-get-lock item))
                                  ) ;_ end of cons
                            *MIP_LAYER_LST*
                            ) ;_ end of cons
            ) ;_ end of setq
      (vla-put-lock item :vlax-false)
      (vl-catch-all-apply '(lambda () (vla-put-freeze item :vlax-false)))
      ) ;_ end of vlax-for
    ) ;_ end of defun
(defun txt_to_line (/ krivoy_text)
  (if
    (and
      (setq krivoy_text (ssget '((0 . "TEXT") (1 . "%%U "))))
      (setq krivoy_text
       (vl-remove-if
         'listp
         (mapcar
     'cadr
     (ssnamex krivoy_text)
         )
       )
      )
    )
     (mapcar '(lambda (x / ent newline box endpt col)
    (setq
      ent    (entget x)
      box    (textbox ent)
      )
   (setq
      newline (vla-addline
          (vla-get-ModelSpace
            (vla-get-ActiveDocument (vlax-get-acad-object))
          )
          (vlax-3d-point
            (setq
        endpt (mapcar '+
                (cdr (assoc 10 ent))
                (cond
            (
             (= (cdr (assoc 71 ent)) 0)
             (car box)
            )
            (t
             (list (caar box)
                   (cadr (cadr box))
                   0.0
             )
            )
                )
              )
            )
          )
          (vlax-3d-point (polar endpt 0 (caadr box)))
        )
    )
    (vla-rotate
      newline
      (vlax-3d-point (cdr (assoc 10 ent)))
      (cdr (assoc 50 ent))
    )
    (vla-put-layer newline (cdr (assoc 8 ent)))
    (vla-put-Color newline
      (if (setq col (cdr (assoc 62 ent))) col 256))
    (entdel x)
        )
       krivoy_text
     )
  )
  (princ)
)
  (vl-load-com)
(mip:layer-status-save)
  (princ "\nSelect text")
  (txt_to_line)
(mip:layer-status-restore)
(princ "\nGood work with line ...")
(princ)
  )
Вложения
Тип файла: zip Форумы caduser_ru.zip (216.6 Кб, 41 просмотров)
__________________
Как использовать код на Лиспе читаем здесь

Последний раз редактировалось VVA, 07.11.2016 в 12:51.
VVA вне форума  
 
Непрочитано 27.12.2010, 11:54
#56
red-white19


 
Регистрация: 05.06.2010
Сообщений: 4


Благодарю за отзывы.
Цитата:
Сообщение от Лиспер Посмотреть сообщение
С данной публикацией я ознакомился еще полгода назад и в возникшей ситуации старался действовать согласно приведенным рекомендациям:

А вот такую:
(defun test ()<Чего-то делаем 2>)



Можно будет вызывать только так:

Команда : (test)

И будут выполнены действия <Чего-то делаем 2>.
С точки зрения AutoCAD'a это 2 разных модуля.



Но вот в Lispе из-за которого весь сыр-бор данная строка (одна из них) выглядит так:

(defun CheckForBulge (obj / param endparam flag)

Соответственно я ввожу в командной строке (CheckForBulge), а мне в ответ на это появляется
; ошибка: no function definition: CHECKFORBULGE

В самом начале Lispа стоит команда (vl-load-com), поэтому в ее отсутствии я причину не ищу.
простым перетаскиванием Lisp вроде бы запускается, но с чертежом ничего не происходит и появляется сообщение "XL1 - восстановить защищенные объекты". Результат работы LISPа ведь должен быть другим, если я правильно понимаю? Уж как минимум чертеж должен быть взорван. Но этого не получается.

Помогите разобраться с данной ситуацией.
red-white19 вне форума  
 
Непрочитано 28.12.2010, 00:34
#57
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


Цитата:
Сообщение от red-white19 Посмотреть сообщение
(defun CheckForBulge (obj / param endparam flag)

Соответственно я ввожу в командной строке (CheckForBulge), а мне в ответ на это появляется
; ошибка: no function definition: CHECKFORBULGE
Функции, имеющие параметры, нужно вызывать с параметрами
gomer вне форума  
 
Непрочитано 28.12.2010, 08:58
#58
red-white19


 
Регистрация: 05.06.2010
Сообщений: 4


Попробовал ввести команду вместе с параметром, заключив все в скобки, т.е.
(CheckForBulge (obj / param endparam flag))
в ответ получаю
; ошибка: no function definition: OBJ

Если ввести
(CheckForBulge (obj / param endparam flag)
получаем (_> и требование ввести парамет какой-то. А какой я не могу понять. Я так понимаю, что это необходимые исходные данные.
Подскажите, какие исходные данные "просит" ввести эта команда?
red-white19 вне форума  
 
Непрочитано 28.12.2010, 09:01
#59
Лиспер


 
Регистрация: 11.10.2010
Сообщений: 980


red-white19, приведи код, откуда взял CheckForBulge. По идее там либо есть "основная функция", и CheckForBulge - всего лишь служебная; либо есть нечто типа readme, где написано - что и в каком виде надо предоставлять.
__________________
(/= RegDate StartReadDate)
Лиспер вне форума  
 
Автор темы   Непрочитано 28.12.2010, 09:57
#60
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,990
<phrase 1= Отправить сообщение для VVA с помощью Skype™


Цитата:
Сообщение от red-white19 Посмотреть сообщение
о с чертежом ничего не происходит и появляется сообщение "XL1 - восстановить защищенные объекты"
XL1 - это и есть команда. Причем ты видишь только последнюю строчку. Нажми F2 и прочитай остальное.
На будущее. Тебя должны интересовать не первые встреченные в файле тобой функции, а команды (функции с префиксом C:). Посмотри в коде, там есть команды C:XL1 C:XL0 C:AutoXLock C:XLock Они тебе и нужны
>Лиспер код в первом посте
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Защита DWG при передаче заказчику

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

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