Автор:
Aleksei92 · Опубликовано: 30 минут назад
Всем доброго времени суток. Подскажите, пожалуйста, интересующемуся NX-CAM.
Есть фрезерный ОЦ DMU-60P Hi Dyn, обзовем его кинематику 4+1 с осями C (стол) и А (поворотная голова вокруг оси Х). Поворотная голова работает только в режиме вертикаль / горизонталь, промежуточных угловых положений у него нет.
СЧПУ Heidenhain iTNC 428. Плоскость обработки задается м-командами (М53 — горизонтальный шпиндель, М54 — вертикальный шпиндель).
Данный станок на 90% реализовал в системе EdgeCAM 21, даже тот момент, что при работе в горизонтальном режиме шпиндельная ось это ось Y, а плоскость обработки это XZ, причем ось Х смотрит влево. Но вот что откровенно бесит, система ЧПУ у меня позволяет менять инструмент при любом положении шпинделя, но вот САМ мне этого не позволяет, ну или я это не разобрал, не осилил, спросить об этой умершей САМ даже не у кого, и подсмотреть нечего. У меня смена инструмента в САМ осуществляется только в одном положении шпинделя. Если я работал в вертикальном режиме — все ок, положение шпинделя совпадает с положением смены инструмента. Перехожу в горизонталь — при смене инструмента САМ возвращает мне рабочую плоскость на XY Z. В целом это не смертельно, можно заново вернуть нужную плоскость обработки в САМ на XZ Y, а в реальности станок просто пропустит этот кадр, т.к. он уже и так действовал (CYCL 19.1 C…).
Собственно, суть вопроса.
Система NX-CAM имеет в распоряжении отдельный пункт в Постбилдере на 5-осевые станки с поворотным столом и поворотной головой (АС). Есть ли такая проблема в NX со сменой плоскости обработки при смене инструмента в разных положениях шпинделя? Можно ли ее обойти в NX? Не так, как я в EdgeCAM, не по колхозному 🙂
Подскажите, пожалуйста. Присматриваю альтернативный продукт, EdgeCAM мертвый, не у кого спрашивать, даже на инглише в YouTube нечего подсмотреть полноценно, да и глючным продукт стал…
Автор:
Aleksei92 · Опубликовано: 30 минут назад
Всем доброго времени суток. Подскажите, пожалуйста, интересующемуся NX-CAM.
Есть фрезерный ОЦ DMU-60P Hi Dyn, обзовем его кинематику 4+1 с осями C (стол) и А (поворотная голова вокруг оси Х). Поворотная голова работает только в режиме вертикаль / горизонталь, промежуточных угловых положений у него нет.
СЧПУ Heidenhain iTNC 428. Плоскость обработки задается м-командами (М53 — горизонтальный шпиндель, М54 — вертикальный шпиндель).
Данный станок на 90% реализовал в системе EdgeCAM 21, даже тот момент, что при работе в горизонтальном режиме шпиндельная ось это ось Y, а плоскость обработки это XZ, причем ось Х смотрит влево. Но вот что откровенно бесит, система ЧПУ у меня позволяет менять инструмент при любом положении шпинделя, но вот САМ мне этого не позволяет, ну или я это не разобрал, не осилил, спросить об этой умершей САМ даже не у кого, и подсмотреть нечего. У меня смена инструмента в САМ осуществляется только в одном положении шпинделя. Если я работал в вертикальном режиме — все ок, положение шпинделя совпадает с положением смены инструмента. Перехожу в горизонталь — при смене инструмента САМ возвращает мне рабочую плоскость на XY Z. В целом это не смертельно, можно заново вернуть нужную плоскость обработки в САМ на XZ Y, а в реальности станок просто пропустит этот кадр, т.к. он уже и так действовал (CYCL 19.1 C…).
Собственно, суть вопроса.
Система NX-CAM имеет в распоряжении отдельный пункт в Постбилдере на 5-осевые станки с поворотным столом и поворотной головой (АС). Есть ли такая проблема в NX со сменой плоскости обработки при смене инструмента в разных положениях шпинделя? Можно ли ее обойти в NX? Не так, как я в EdgeCAM, не по колхозному 🙂
Подскажите, пожалуйста. Присматриваю альтернативный продукт, EdgeCAM мертвый, не у кого спрашивать, даже на инглише в YouTube нечего подсмотреть полноценно, да и глючным продукт стал…
Проблема отображения в NX. Программа предлагает обширный инструментарий по управлению отображением объектов: скрыть/показать, слои, ссылочные наборы, расположения, наборы визуализации. Иногда пользователь путается во множестве настроек или забывает о чем-то, что настроил. Тогда начинаются вопросы вроде таких: «почему не видно эскиз», «куда делись все болты».
В статье перечислены те моменты работы со сборками, на которые следует обратить внимание, если возникла проблема отображения в NX. Приоритет примерно равный. Не стоит думать, что одна причина встречается чаще другой. Как правило, отправной точкой возникновения проблем является совместная работа над одной сборкой или деталью, либо непреднамеренное сохранение чертежной обстановки.
Скрыт компонент или геометрия
Инструмент «Показать/Скрыть». Комбинация клавиш «Ctrl+Shift+B» инвертирует показанные на скрытые и наоборот. Скрывать можно компоненты и тела. Скрытый компонент обозначается по отсутствию красной галочки в дереве навигатора сборки. Скрытое тело в компоненте можно найти, сделав компонент рабочим и проанализировав дерево навигатора детали.
Слои
Инструмент «Настройки слоя», а также «Перенести на слой» (выбираем объекты и по номеру выбираем слой, куда переносим). При черчении, возможно потребуется перенести все компоненты с других слоев на один, например первый слой, чтобы они стали отображаться на чертеже.
Ссылочный набор
Тела и какую-то вспомогательную геометрию (кривые, плоскости) в модели компонента можно распределять по ссылочным наборам, чтобы она не загромождала сборку. Есть дефолтовые ссылочные наборы, например MODEL(Модель/тело), EMPTY(пустой) или ALL (Вся деталь). Бывает также, пользователи создают свои наборы. Например, при выполнении деформируемых деталей, может быть создан набор с деформированной и дополнительно — с недеформированной пружиной или шайбой. При ошибке создания набора (выбор тел) или при ошибке выбора набора (выбран для отображения не тот набор), можно получить не те тела или получить недостаточное их количество на экране. Ссылочный набор это атрибут компонента в сборке, он переключается для компонента сборки в навигаторе сборки вызовом контекстного меню правой кнопкой мыши. Ссылочный набор используется для управления конфигурацией отображения тел в рамках одной детали. Для подсборок не рекомендуется создание дополнительных ссылочных наборов. При необходимости управления отображаемой конфигурацией подсборки, используйте расположения.
Расположение/подавлено
Нет ли подавленных компонентов? Подавление используется для вывода из рассмотрения в модели выбранных компонентов. Подавление работает в рамках сборки, в которую входит компонент. При подавлении компонента, пользователь выбирает, на каком уровне сборки компонент подавлен, также подавление может быть выполнено для одного расположения. При выполнении чертежей со сложной обстановкой полезно подавить ненужные компоненты мастер-модели в сборке чертежа. При этом в мастер-модели ничего не поменяется, файл мастер-модели не изменится подавление происходит в сборке чертежа. При отсутствии компонента в рабочем окне, необходимо посмотреть, не является ли он подавленным в текущей отображаемой сборке. В навигаторе сборки подавленный компонент отображается синим цветом. Компонент может быть подавлен всегда, а может быть подавлен только в определенном расположении. Сменить расположение для сборки/подсборки можно вызвав контекстное меню правой кнопкой мыши на компоненте сборки/подсборки в дереве навигатора сборки. Расположение — это атрибут сборки. У компонента без потомков расположения быть не может.
Набор визуализации
Наборы визуализации (Rendering Set) используются для распределения тел сборки на группы, которые трассируются и рендерятся на чертёж отдельно, а также отображаются заданными линиями. Это очень удобно для сборочных чертежей с обстановкой, которая показывается тонкими линиями. Нужно проверять в настройках черчения, а также проверять отображаемые наборы визуализации в настройках вида. Проблема может быть в том, что не верно выбраны тела в наборах, или некорректно выбраны наборы для вида. И то и другое приводит к сокрытию очертаний по причине невидимости контуров. Начните сначала: в настройках вида удалите все наборы визуализации, обновите вид. Добавьте наборы визуализации снова. Поменяйте порядок вывода наборов визуализации на вид. Поменяйте состав наборов в настройках черчения.
Настройка точности отображаемого вида
Здесь может быть сокрытие или наоборот отображение чересчур большого количества линий. Есть так называемые интеллектуально облегченные и точные виды. Это задается в настройках вида. Облегченные виды быстрее обновляются, с ними гораздо легче работать при отсутствии необходимости проработки деталей. Как правило, точными с высокой детализацией (точностью) виды делают ближе к концу работы над чертежом.
Компонент частично загружен
Столбцы навигатора сборки можно настроить так, чтобы частично загруженные компоненты были отмечены в специальном столбце. Для полной загрузки, компонент можно сделать рабочим (двойной клик в дереве навигатора сборки) и тут же вернуться в сборку обратно. Либо поменять опции загрузки.
Эскиз не на том виде/слое
Бывает, кривые эскиза пропадают при создании. Нужно следить за тем, в каком виде делается эскиз, не выходит ли эскиз за пределы вида, а кроме того, на первом ли слое делается эскиз. Эскиз может быть сделан на листе, может быть сделан на виде. Если эскиз сделан на листе, его нельзя будет выбрать для выполнения сечения на виде, нужен эскиз именно на этом виде. Аккуратнее при создании на чертеже активных эскизов — смотрите, где и в каком слое они создаются (эскизы в видах отображаются под видами в навигаторе черчения). ПКМ на границе вида, или на виде в дереве панели ресурсов -> Вид активного эскиза.
Перезапуск
К сожалению, бывают и ошибки ПО. Как правило, наблюдаются при большом количестве импортированной в самых причудливых форматах геометрии сомнительной необходимости. Также при попытке создать сечение подобной геометрии на чертеже. При обновлении вида после ошибок, геометрия на видах может не вырисовываться, а NX тогда глючит и вываливается в Базовый модуль. Требуется перезапуск NX. При этом, можно сохранить чертеж под новым именем. Не надо делать чертежи по плохим моделям.
Предложите, как улучшить StudyLib
(Для жалоб на нарушения авторских прав, используйте
другую форму
)
Ваш е-мэйл
Заполните, если хотите получить ответ
Оцените наш проект
1
2
3
4
5
Я потратил на это несколько дней, и теперь это сводит меня с ума.
У меня есть состояние в родительском компоненте, содержащее массив [строка] выбранных квадратов, который передается дочернему компоненту (карте) вместе с функцией set из хука. Проблема в том, что когда я устанавливаю новые квадраты, они меняются в родительском, но при выборе другого квадрата он не учитывает уже выбранные квадраты.
function Parent(props){
const [selectedSquares, setSquares] = useState([]);
useEffect(() => {
console.log('parent useEffect', selectedSquares);
}, [selectedSquares]);
return (
<Child selectedSquares={selectedSquares}
handleSquaresChange={setSquares}
/>
)
}
function Child(props){
const {selectedSquares, handleSquaresChange} = props;
useEffect(() => {
console.log('child useEffect', selectedSquares)
}, [selectedSquares]);
const handleSelect = evt => {
if(evt.target){
const features = evt.target.getFeatures().getArray();
let selectedFeature = features.length ? features[0] : null;
if (selectedFeature) {
console.log('select (preadd):', selectedSquares);
const newTile = selectedFeature.get('TILE_NAME');
const newSquares = [...selectedSquares];
newSquares.push(newTile);
const newTest = 'newTest';
handleSquaresChange(newSquares);
console.log('select (postadd):', newSquares);
}
}
return(
<Map>
<Select onSelect={handleSelect}/>
</Map>
)
}
В первом компоненте взаимодействияSelect я получаю этот вывод из консоли:
родительский useEffect: [],
дочерний useEffect: [],
select (preadd):[],
child useEffect:['NX'],
родительский useEffect: ['NX'],
выберите (после добавления): ['NX'].
Делая второй выбор, это добавляется в консоль:
select (preadd):[],
select (postadd): ['SZ'],
child useEffect:['SZ'],
parent useEffect: ['SZ'].
2 ответа
Оказывается, в библиотеке, которую я использую, есть addEventListener, который работает неправильно. Спасибо всем, кто ответил, но оказалось, что проблема была не в React и не в состоянии.
1
Muteman30
14 Фев 2022 в 13:02
Рассмотрим что-то вроде кода ниже. У вашего родителя есть массив со всеми вашими вариантами. Для каждого варианта вы визуализируете дочерний компонент. Дочерний компонент обрабатывает активность своего собственного состояния.
function Parent(props){
// array of options (currently an array of strings, but this can be your squares)
const allOptions = ['opt 1', 'opt 2', 'opt 3', 'etc'];
return (
<>
// map over the options and pass option to child component
{allOptions.map((option) => <Child option={option}/>)}
</>
)
}
function Child({ option }){
const [selected, setSelected] = useState(false); // default state is false
return (
<>
// render option value
<p>{option}</p>
// shows the state as selected or not selected
<p>Option is: {selected ? "selected" : "not selected"}</p>
// this button toggles the active state
<button onClick={() => setSelected(!selected)}>Toggle</button>
</>
)
}
0
jolo
14 Фев 2022 в 12:50