Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Ищу программу(надстройку) под AutoCAD
Диалог специалистов АВОК > ФАЙЛОТЕКА СПЕЦИАЛИСТА > Программы, расчеты
-BuTeK-
Ищу программу, которая позволяет делать следующее:
  • Нажимаешь на линию относительно которой делаешь разрыв.
  • Нажимаешь на линию, которая будет разрываться.
  • Получаешь результат.
Длина разрыва задается в настройках.
P.S. Соответственно должна быть бесплатной.
Нажмите для просмотра прикрепленного файла
ssn
по количеству кликов стандартная команда разрыв по двум точкам... зачем программа?
OVKT
А я делаю совсем просто, причём качественно, быстро, удобно как на автомате:
Допустим, есть куча пересечений линий и на них нужно сделать "разрывы", условно показать, что это один трубопровод над/под другим трубопроводом.
Очень просто: команда "круг и радиус", ставим 1 в точку пересечения, а следующие повторяют предыдущий радиус. Так наклепать во всех точках.
Затем команда "разрыв" типа TRIM: обводим все кружочки как резаки (просто обводим окошком), соглашаемся, и щёлк-щёлк по местам внутри кружочков, быстренько все разрывы готовы. Причём все под одну гребёнку равного диаметра, чётко по центру.
Резаки кружочки стираем.

Примерно также ставятся разрывы с подписями типа Т1, Т2. Внутри заготовленного кружочка ставим текст Т1, текст с ручкой MIDDLE выставляем строго по центру кружка.
И так же: наставили по нужным местам, внутри круга вырезали, лишнее стёрли.

Попробуйте! Мульт снять???
AAANTOXA
если BuTeK говорит что такая прога есть то нафига вот эта вся суета нужна . Просто прогу найти надо .
Линии Т1 , Т2 и тд любые линии с текстом надо сделать именно линиями такими, ну как есть линия зигзагообразная также и это . Правда это никто не делает laugh.gif И смежникам придётся потом эти типы линий пересылать .
OVKT
А я ужо мульт снял, всё показано как по-писанному, быстро и красиво!
-BuTeK-
Цитата
по количеству кликов стандартная команда разрыв по двум точкам... зачем программа?

Не ровно получается и иногда прязка "пересечение" срабатывает и линия обрывается на месте перечечения и приходится вручную отодвигать.

Цитата
Очень просто: команда "круг и радиус", ставим 1 в точку пересечения, а следующие повторяют предыдущий радиус. Так наклепать во всех точках. Затем команда "разрыв" типа TRIM: обводим все кружочки как резаки (просто обводим окошком), соглашаемся, и щёлк-щёлк по местам внутри кружочков, быстренько все разрывы готовы. Причём все под одну гребёнку равного диаметра, чётко по центру.
Резаки кружочки стираем.

Слишком долго по-моему. Я то хочу все за два клика. Потом надо кружки стирать, их конечно можно в defpoints положить...

Цитата
если BuTeK говорит что такая прога есть то нафига вот эта вся суета нужна . Просто прогу найти надо .

Кто сказал, что она есть ohmy.gif ? Я просто сказал, что ищу.

Цитата
А я ужо мульт снял, всё показано как по-писанному, быстро и красиво!

Лучше б программу по-быстренькому написал. wink.gif
kpblc
Ээээ... А зачем программу, если все решается стандартным блоком?
Создается wieout (команда _wipeout) по прямоугольнику, например, от (-1 -1) до (1, 1). Добавляется отрезок (к примеру, вертикально от 0,-1 до 0,1). wipeout'у и отрезку назначаются слой "0", тип, вес и цвет линии - ПоБлоку. Отключаются границы у wipeout'a. Соединяется в блок. Вставлять куда хочется с любыми масштабами по любым осям. Годится?
-BuTeK-
Цитата(kpblc @ 20.6.2007, 0:43) *
Ээээ... А зачем программу, если все решается стандартным блоком?
Создается wieout (команда _wipeout) по прямоугольнику, например, от (-1 -1) до (1, 1). Добавляется отрезок (к примеру, вертикально от 0,-1 до 0,1). wipeout'у и отрезку назначаются слой "0", тип, вес и цвет линии - ПоБлоку. Отключаются границы у wipeout'a. Соединяется в блок. Вставлять куда хочется с любыми масштабами по любым осям. Годится?

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

Скажите, можно ли самому написать такой макрос или приложение под AutoCAD или может есть такое уже в составе других приложений?
-BuTeK-
Единственная программа, которую нашел на просторах интерента - Break Den. Но она ничего не автоматизирует, а просто вставляет на указанные места обозначения разрывов и стирает линию, между ними.
OVKT
Нужна именно программа? Этож совсем просто: автоматизируйте запрограммируйте мой способ, чтобы кружочки сами стирались бы.
-BuTeK-
Цитата(OVKT @ 20.6.2007, 7:40) *
Нужна именно программа? Этож совсем просто: автоматизируйте запрограммируйте мой способ, чтобы кружочки сами стирались бы.

Мне не принципиально как это будет организовано. Главное, чтоб эту функцию можно было повесить на кнопку и дать ей горячую клавишу.
Может подскажите как это организовать?
OVKT
Программировать под Акад я не умею, умею тока мульты снимать, а в Worde пишу самодельные макросы, но это не по теме...
В Акаде кажется есть возможность писать "скрипты", последовательность команд как бы они вводились вручную. Обратитесь к kpblc, думаю, если он автоматизирует мой способ, это будет достаточный прогресс...
Кроме того, поищите на форуме www.autocad.ru там есть "готовые программы", правда я там ничего для ОВВКЭМ не нашёл...
Вобщем, автоматизируйте мой способ!
Только диаметры режущих кружочков придётся вводить хотя бы 1 раз. Я брал диаметр 100, а иногда нужно 80, 150, программа должна в начале спрашивать диаметр.
Разрывы с текстом внутри также можно будет сделать как в мульте.
Тогда и я стану применять программу если kpblc напишет...
mmax
Вот вам сырая программа для разрывки примитивов по вашему алгоритму. Правда длина разрыва не сохраняется, а каждый раз запрашивается.

Команда SCTRIM
Выбрать обект который не будет обрываться
Далее в цикле выбирать пересекающие объекты и указывать длину равную диаметру воображаемой окружности с центом в точке пересечения. объект будет обрезаться по кромке воображаемой окружности.

Примечания:
Объекты могут быть любыми (не проверял на блоках и внешних ссылках)
Извилистые полилинии сплайны итп, которые пересекают сами себя, нельзя указывать два раза, как относительный и обрезаемый и возможно нельзя указывать их вообще.
Любой примитив должен пересекать другой только в одной точке.
Иепересекающиеся объекты будут выдавать ошибку.
Если обрезаемый объект не пересекает воображаемую окружность будет ошибка, он также должен пересекать окружность хотябы в одной точке. Количество точек пересечения обрезаемого объекта с воображаемой окружностью неограничено, будет все удалено внутри окружности.
Команда UNDO превратит воображаемые окружности в реальные, поэтому будьте внимательны, следитечтобы не осталось чего лишнего.

В дальнейшем программа будет усовершенствована, будут сняты ограничения на количество точек пересечения, обрываться объект будет визуально, и возможно будет можно обрывать примитивы пересекающие сами себя.
AAANTOXA
для чайников - как загрузить это в АКАД ? поподробнее по слогам пожалуйста biggrin.gif
kpblc
dwg.ru/art/8
vic153
Цитата(AAANTOXA @ 22.6.2007, 0:06) *
для чайников - как загрузить это в АКАД ? поподробнее по слогам пожалуйста biggrin.gif

1) скопировал, разархивировал (у тебя получится файл rvat.fas)
далее, если хочешь просто попробывать запустить/потестить то открыть автокад, выбрать Tools/Load Application ...
появится диалоговое окно в нем выберешь файл rvat.fas и нажмешь кнопку Load, затем кнопку Close. Так файл загрузится в ACAD. После этого в командной строке автокада набери sctrim и будет тебе счастье.

to mmax
жаль что выложил откомпелированный уже файл, хотелось бы посмотреть код.
Можно создать функцию, которая будет запрашивать у пользователя диаметр режущей окружности и сохранять его в глобальной переменной. А в основной функции сделать проверку, что если переменная диаметра nil => запуск этой функции Setup.
AAANTOXA
спасибо за разъяснения
что сразу хочется дополнить:
чтобы запоминался размер обрезки
чтобы можно было выбрать несколько обьектов сразу которые обрежутся и один который останется целым - удобно в плане когда одна "труба" идёт выше многих других
Яков
Цитата(OVKT @ 20.6.2007, 10:43) *
Программировать под Акад я не умею, умею тока мульты снимать,
Разрывы с текстом внутри также можно будет сделать как в мульте.



Как минимум вам нужно разобраться с функцией "Быстрый выбор", вместо прощелкивания по каждому кружочку кружочки можено выделить одним путем.
Ну и с линими тоже нужно создавать тип линии.


А я вот мультики снимать не умею так бы все бы вам показал как ваши операции сделать быстрее
putnik82
Если закрываешь окно с Акадом (версия 2007 рус.-лицензионная), то данная команда "слетает". Необходимо каждый раз при запуске Акада по новой подгружать файл rvat.fas для того, чтобы активировать команду??? Как бы так сделать, чтобы он "остался в памяти" проги???
vic153
Цитата(putnik82 @ 22.6.2007, 8:57) *
Если закрываешь окно с Акадом (версия 2007 рус.-лицензионная), то данная команда "слетает". Необходимо каждый раз при запуске Акада по новой подгружать файл rvat.fas для того, чтобы активировать команду??? Как бы так сделать, чтобы он "остался в памяти" проги???

один из вариантов: создай кнопку в ней пропиши действие типа
Цитата(код)
^C^C(if (eq c:sctrim nil) (load "rvat.fas"));sctrim

правда файл rvat.fas должен находится по прописанным путям в ACADE

P.S. или можно в Tools/Load Application ... откроется диалог. окно Load/Upload Aplication там справа нажать кнопку Contents ... откроется другое окно, там выбрать файл rvat.fas
kpblc
Еще один вариант:
С ком.строки _appload
В окне жамкнуть на потрфеле, там кнопку [добавить] ([Add]), указать этот fas. Теперь он будет автоматически загружаться во все профили, во все сессии и во все документы этого autocad'a
putnik82
Благодарствую!!! Все заработало!
-BuTeK-
Цитата(mmax @ 21.6.2007, 23:58) *
Вот вам сырая программа для разрывки примитивов по вашему алгоритму. Правда длина разрыва не сохраняется, а каждый раз запрашивается.

Команда SCTRIM
Выбрать обект который не будет обрываться
Далее в цикле выбирать пересекающие объекты и указывать длину равную диаметру воображаемой окружности с центом в точке пересечения. объект будет обрезаться по кромке воображаемой окружности.

Примечания:
Объекты могут быть любыми (не проверял на блоках и внешних ссылках)
Извилистые полилинии сплайны итп, которые пересекают сами себя, нельзя указывать два раза, как относительный и обрезаемый и возможно нельзя указывать их вообще.
Любой примитив должен пересекать другой только в одной точке.
Иепересекающиеся объекты будут выдавать ошибку.
Если обрезаемый объект не пересекает воображаемую окружность будет ошибка, он также должен пересекать окружность хотябы в одной точке. Количество точек пересечения обрезаемого объекта с воображаемой окружностью неограничено, будет все удалено внутри окружности.
Команда UNDO превратит воображаемые окружности в реальные, поэтому будьте внимательны, следитечтобы не осталось чего лишнего.

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


Это классно. Практически то, что искал.

Предлагаю добавить следующее.
1. Запускаем команду.
2. В ней есть меню, которое позволяет изменять радиус окружности. Это значение не нужно каждый раз вводить, оно запоминается, и его даже не надо подтверждать.
3. Необходим выбор нескольких линий, а то с одной это долго. Или такое не часто бывает?
Извиняюсь если где-то сказал и непонятно или сморозил глупость.

Еще раз спасибо mmax.

P.S. Да и еще идея. А нельзя, чтоб все линии, которые выбраны, но не доходят до центра окружности также обрезались?
mmax
Забыл напомнить тем у кого автокад 2005 и -. Вам надо ввести в командной строке (vl-load-com);со кобками или создать файл LSP в котором будет такая строчка.

Тем у кого не получается подгрузить файл. Создайте текстовый файл acaddoc.lsp и напишите в нем для акад<2006
(vl-load-com)
и для всех автокадов:
(load "filePath\\file.fas") можно lsp и vlx. Если у вас есть коллекция файлов то написать такое для каждого файла.
В имени и пути файла косых черточек должно быть по две например "C:\\folder1\\folder2\\file.lsp"


Пришел я к выводу что случай сильно частный. Надо сделать более универсально.

Напрмиер:
Выбираем только один объект.
А далее указываем точку на этом объекте, радиус окружности, и объект будет разорван внутри окружности. это будет намного прощще.
Еще в таких случаях надо пририсовывать дугу. Надо?

Теперь вопрос будет к kpblcу:
Как сделать так чтобы у объекта НЕвключались ручки, а тольпо подсветка пунктиром.
Функция просто (ssget) делает как надо но предпологает многократный выбор объектов и требует ENTER. Вданной ситуации надо выбрать только один объект. Если использовать bleh.gif (блин опция для ssget является смайлом _:S) то объект неподсвечивается.
И как запретить функции (ssget) использовать предварительно выбраные объекты до запуска команды.
kpblc
А как у тебя объект указан? Если он у тебя в vla-представлении, то можно сделать (vla-highlight ent :vlax-true), только потом поставить (vla-highlight ent :vlax-false) надо не забыть. Если объект - набор (ssget), то (sssetfirst ent nil) - по-моему, так.
Насчет исключения предварительного выбора. Есть вариант предварительно послать (sssetfirst nil nil),- но я этого никогда не делал; есть вариант (если функция вызывается из меню) в макросе прописывать ^C^C; ну или придется идти через activex-selectionset. Пример можно посмотреть на http://dwg.ru/forum/viewtopic.php?t=14076 , мы там с Alaspher'ом как раз сегодня обсуждали это дело и некоторые тонкости, с ним связанные. Просто я не очень люблю activex-наборы, вечно с ними головняк.
P.S. (vl-load-com) на 2005 надо загружать принудительно только если не установлен ServicePack (насчет 2004 не скажу, а вот в 2002 точно надо выполнять эту строку). Также эта строка необходима, если работа ведется в т.н. DeveloperEdition-версии.
P.P.S. Можно использовать слеши "обратной ориентации": "/". Их не надо дублировать.
Если надо сразу грузить много файлов, я бы рекомендовал пошерстить на autocad.ru в разделе Готовые программы.
---
Блин, жалко, что у меня не получилась моя идея с wipeout (полностью программое создание) - было бы красиво. Наверное. Хотя... сейчас попробую, вдруг получится smile.gif
mmax
Мою предыдущую программу фтопку
вот ее код
Код
(defun C:SCtrim ( / *error* oldecho
         notrim
         ss
         yestrim znachenie_samocad zaprosznachenie_samocad
         varsectpoint sectpoint ename-circle vla-circle)
(setq oldecho (getvar "cmdecho"))

(defun *error* (msg)
  (setvar "cmdecho" oldecho)
  
  (setq ss nil)
  (command)
  (princ)
  )


(while (null (setq notrim (car (entsel "\nВыберите объект который не будет обрезаться : ")))))

(setq ss (ssadd notrim))

(while t
  (progn
(sssetfirst nil ss)

(while (null (setq yestrim (car (entsel "\nВыберите объект который БУДЕТ обрезаться : ")))))

(ssadd yestrim ss)
(sssetfirst nil ss)


(if (null(numberp znachenie_samocad))
  (setq znachenie_samocad 1))

(setq zaprosznachenie_samocad (getdist (strcat
                   "\nСкоко резать? <"
                   (vl-prin1-to-string znachenie_samocad)
                   "> : ")))

(if (null zaprosznachenie_samocad)
  (princ)
  (setq znachenie_samocad zaprosznachenie_samocad))
;;;(setq znachenie_samocad nil)

  (setq varsectpoint (vla-intersectwith
            (vlax-ename->vla-object notrim)
            (vlax-ename->vla-object yestrim)
            0))

(setq sectpoint (vlax-safearray->list (vlax-variant-value varsectpoint)))

(setvar "cmdecho" 0)
(command "_.circle" sectpoint znachenie_samocad)
(setq ename-circle (entlast))
(setq vla-circle (vlax-ename->vla-object ename-circle))

(command "_.trim")
(command ename-circle)
(command "")
(command (list yestrim sectpoint))
(command)
(setvar "cmdecho" oldecho)

(vla-delete vla-circle)
(vlax-release-object vla-circle)
(ssdel yestrim ss)
))
  (command)
  (princ)
  )


Новая программа:
================================================================
Выбирается только 1 объект который надо порезать. базовую точку легко найти по привязкам.

Команда sctrim

там все просто и понятно

объекты любые кроме составных и ссылок

Точку можно указывать НЕ на объекте, несмотря на запрос команды. Чтоб все линии, которые выбраны, но не доходят до центра окружности также обрезались[-BuTeK-].

Если окружность в итоге не будет пересекать объект, то за результат не ручаюсь.

по умолчанию предлагаемый радиус предлагается равным радиусу последней нарисованной окружности, зависит от системной переменной CIRCLERAD. Тоесть если вы гдето самостоятельно нарисовали Circle, то программа будет предлагать ее радиус. Следите за значениями в сообщениях заключенные в <x.x>

Если радиус окружности в циклической обработке примитивов менять не надо, то просто жмите ентер.
=================================================================

Команда qsctrim
делаем командную строку пошире чтобы видеть подсказку.
Радиус не запрашивает, он сохраняется в глобальной LISP-переменной SCTRIMCIRC-SAMOCAD(не путать с системными), значение которой можно поменять командой CIRCLESAMOCAD
Также этой переменной присваивается последнее значение радиуса использованое в команде sctrim.
=================================================================
К сожалению ничего не могу придумать для команды UNDO, будьте внимательны, при откатах рисуется воображаемая окружность. Мелкие можно не заметить и они пойдут в печать. Выполняйте команды порезки на слоях запрещенных к печати тк вспомогательные примитивы рисуются на текущих слоях. Не выполняйте программу на отключенных, заблокированых, замороженных слоях.
=================================================================

(vl-load-com) не прописана

=================================================================
Если при использовании программы вдруг пропали буквы в командной строке скопируйте в нее команду (setvar "nomutt" 0) и сообщите мне при каких обстоятельствах она пропадает.
Те кто использует динамическую строку, и вдруг заметил, что она стала меньше болтать (setvar "dynprompt" 1).

Также сообщайте о всех других глюках. Предполагаются глюки на несоответствие сохраненных значений радиусов.
=================================================================

В архиве два файла. 2005 работает в любых версиях. 2006 в предыдущих работать не будет.
При использовании 2005 в версииях 2006+ в динамической командной строке может выводиться неточная информация.
при использовании 2006 в версиях 200 6 7 вывод сообщений в динамическую строку временно отключается.
Про автокад 2008 ничего сказать не могу, но думаю что все будет нормально.
=================================================================
планируется добавить отдельную команду для порезки примитивов пересекающих самих себя.

>>kpblc
highlight рулит.
На ssget решил не заморачиваться. Если надо выбрать только 1 объект то помогает только
Код
(while (null (setq ent (car (entsel)))))

но такой способ не дает выйти Ентером, а если НЕ зациклить то при промахе выдает nil получается, что нельзя промахиваться. Нет тут золотой середины как в get-функциях.
sssetfirst включает ручки-прямоугольники, погано получается. Не помню как в предыдущих версиях, в 2007 линии становятся просто пунктирными без ручек.

Еще вопрос остается открытым:
Код
(defun c:cmd ()
    (lisp 1)
    (lisp 2)
    (lisp 3)
   )

В программе создаются временные опорные примитивы, которые удаляются после использования. И эти заразы восстанавливаются командой UNDO. причем независимо от того каким способом рисовались (command entmake vla-add). Как сделать так чтобы Undo отменяла действие всей пользовательской команды c:cmd? А то она их отменяет по отдельным выражениям внутри функции (с:cmd).

Код
(defun c:cmd ()
  (while t
    (lisp 1)
    (lisp 2)
    (lisp 3)
     )
   )

В такой ситуации будет отменять выполненные циклы, а иногда еще и поотдельности действия внутри циклов.
vlax-release-object не помогает
Получается ситуация: пользователь порезал примитивы и решил парочку последних отменить. Жмет стрелку "назад", а там бах, какаято окружность появилась, которую он даже мельком не видел, потом внутри окружности стало все зарастать порезанными лниями, и только при третьем нажатии окружность изчезла.

попробую vlax-add-cmd помучать может поможет. bestbook.gif
kpblc
Значится так smile.gif
Для замены (entget) можешь посмотреть на http://www.arcada.com.ua/forum/viewtopic.php?t=884 и на
Код
  (defun loc:entsel (msg / ent)
    (if (or (not msg) (= msg ""))
      (setq msg "\nУкажите объект : ")
      (setq msg (strcat "\n" (vl-string-trim " :\n" msg) " : "))
      );_ end of if
    (setvar "errno" 0)
    (while (and (not (setq ent (entsel msg)))
                (= (getvar "errno") 7)
                );_ end of and
      (setvar "errno" 0)
      (princ "\nПромашка вышла, однако. Хочется остановиться - жмем Esc")
      );_ end of while
    (list (car ent) (trans (cadr ent) 1 0))
    );_ end of defun
Выход только по Esc.

Чтобы пользователи не мучались с системными переменными, посмотри http://www.arcada.com.ua/forum/viewtopic.php?t=445 - я там обработчик ошибок нарисовал, ну еще плюс обсуждение. Может, окажется небесполезным.
P.S. Новый вариант я посмотреть не могу (дизассеблирование fas-файлов весьма неблагодарное занятие).
P.P.S. Лично мне очень не нравится командный метод _trim или _break - если на обрабатываемом примитиве были записаны расширенные или словарные данные, то они на новый примитив не копируются. Кроме того, новый примитив тоже надо обрабатывать на предмет пересечения с объектом, который "наверху". В общем, головняка прилично.
mmax
Ну и по многочисленным просьбам релиз программы с секущей линией.
Команда TRUBOREZ
Освоится легко.
Режет все пересекающие секущую линию объекты.

Если секущую линию пересекают примитивы типа полилиний и сплайнов сразу в нескольких точках, то при выборе обрезаемого объекта старайтесь выбирать объект в точке наиболее близкой к точке пересечения у которой нужно разорвать. Смотрите примеры во вложенном DWG.

Если объект пересекает секущую в одной точке, то выбирать можно где угодно.

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

Загружать надо оба файла. Для любых версий.

Жду отзывов и предложений.

Архив обновлен 24.06.07 22:00 иправлена незначительная ошибка.
mmax
На рисунке красными кругами и зелеными линиями обозначены линии резки. По настоящему они не существуют это воображаемые линии.

Команда TRUBOREZ режет объекты как показано на рисунке красными кругами. Неперпендикулярные линии режутся както неправильно.
Может всетаки надо сделать так чтобы резалось зелеными?
Так трубы «в три линии» будет легче резать.

Вот только по какому принципу резать синюю линию тк она даже не касается второй режущей линии и будет усечена до наружной зеленой. Если прямолинейные еще можно както продлить, а с криволинейными будет не так просто. В данной ситуации ее просто негде резать.
AAANTOXA
вывод - изначальный принцип неверен
может возможно создать прогу где вместо красных кружочков будут строиться зёлёные линии и они будут границами обрезки. линии строить командой "ПОДОБИЕ", также задавать величину подобия....
kpblc
О я чего нашел, может, поможет?
http://www.autocad.ru/cgi-bin/f1/board.cgi?t=35923jz
-BuTeK-
Цитата
Жду отзывов и предложений.


А как насчет того, чтоб можно было обрезать примитивы попадающие в область действия секущей окружности, но не пересекающие выбранную линии (относительно которой режем)?
mmax
Цитата(-BuTeK- @ 25.6.2007, 8:14) *
А как насчет того, чтоб можно было обрезать примитивы попадающие в область действия секущей окружности, но не пересекающие выбранную линии (относительно которой режем)?

Такая есть в сообщении 26. Там окружность рисуется визуально. Но ввиду того что подрезаемый объект не пересекает секущий, то секущий не указывается. Если надо найти какоето отношение этих объектов оно спокойно найдется по привязкам.
команда просит указать точку на объекте, но этот запрос можно проигнорировать и указать точку в любом месте, и необязательно вообще на каком либо объекте, можно в пустом поле.

Цитата
вывод - изначальный принцип неверен
может возможно создать прогу где вместо красных кружочков будут строиться зёлёные линии и они будут границами обрезки. линии строить командой "ПОДОБИЕ", также задавать величину подобия....

Учитывая то факт, что хочется сделать режущий объект произвольным, то будет сложновато наити точки подобия так чтобы подобные получились с обеих сторон. Если окружности и линии еще можно проанализировать, то всякие сплайны и многосегментные полилинии анализу практически не поддаются, точнее надо будет для каждого объекта писать свою собственную команду подобие.
Хотя может быть с некоторыми ограничениями для произвольных объектов близких к нормальным можно чтонибудь придумать.
putnik82
А мультилинии можно как-то разрывать при помощи данной команды не разрушая их??
-BuTeK-
Цитата(mmax @ 22.6.2007, 19:54) [snapback]136016[/snapback]
Также сообщайте о всех других глюках. Предполагаются глюки на несоответствие сохраненных значений радиусов.


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

Кстати будет продолжение программы или нет?
Kult_Ra
Цитата(-BuTeK-)
Кстати будет продолжение программы или нет?

Вопрос на откровенность - Чем Вас, строителей, притягивает наша специальность? И Сфинкс(ОВКТ) почти уже переквалифицировался.
Возможно, есть ещё "замаскированные Архитекторы-ПГС" и не только из Коломны и Питера?
Прямо настоящая "пищевая конкуренция", понимаешь. dont.gif
-BuTeK-
Цитата(Kult_Ra @ 16.1.2008, 1:34) [snapback]210454[/snapback]
Вопрос на откровенность - Чем Вас, строителей, притягивает наша специальность?


Это вы про программирование?
Если да то для меня видны следующие варианты:
1. Денег нет, но есть желание сократить трудозатраты применив автоматизацию рутинных операций. Что в конечном итоге должно привести к появлению тех самых денег. wink.gif
2. Люди пошли не в свою специальность. А некоторые (есть у меня пара примеров), находят в этом свое призвание. И уходят в него.
3. Просто интересно - "Смогу ли я?"

Лично я для себя выбираю 3-ий + не просить же в самом деле крупных разработчиков сделать маленькую утилитку на вот такусенькую операцию.
Ну и сделать то, что еще до тебя не делали и гордится этим.

P.S. Прошу прощенья за флуд.
Сфинкс
Инженерные сети лучше ПГС тем, что в ОВ, ТМ, ТС, ВК и др., ОДИН инженер способен выполнить всю работу самостоятельно.
Когда-нибудь в 2012 году у меня будет 2-е высшее, вкупе с ПГС могу претендовать на соотв. должность, буду свободен в выборе работодателей по-настоящему.
Kult_Ra
Это вы про программирование? Нет (это естественно). Ответ Сфинкс искренний, вполне возможно и вы так полагаете (но не в смысле "карьерного роста").
"пищевая конкуренция" в том, вместо выдавать задание смежникам строители-архитекторы сами его выполняют.

Прошу прощенья за флуд. - очень хорошие слова и с удовольствие присоединяюсь. dont.gif

Сфинкс - Когда-нибудь в 2012 году у меня будет 2-е высшее
Тут особый случай. Есть выражение - "Градообразующее структура - профильное предприятие".
Можно сказать:- Вы "самоформирующаяся прогрессивная структура" - недавно отпраздновали "День рождения". Сменили имя/профиль - признак старта нового этапа по жизни.
"Сотвори себя сам" - пожалуй самая удачная позиция по жизни.
mmax
Цитата(-BuTeK- @ 16.1.2008, 0:32) [snapback]210448[/snapback]
Не знаю развиваете вы еще эту мини-утилитку или нет.
Но вот в качестве глюка наверно: у меня на 2006-м Акаде при перетаскивании панелей инструментов исчезла рамка показывающая то место, куда я ее переношу.
Теперь приходится двигать вслепую.
А если это не из-за нее, то может кто подскажет как все вернуть как было?

Кстати будет продолжение программы или нет?


На панели эта утилита не оказывает никакого влияния. Скорее всего вам ктото системную переменную. Ищите в справке там наверняка есть лекарство.

продолжени будет. Делаю саморежущий блок. Например в схемах при вставке блока с именем "задвижка" линия-труба обрывается сама в нужных местах без выполнения каких либо дополнительных действий
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2025 IPS, Inc.