本文整理汇总了Golang中github.com/joushou/gocnc/gcode.Block.Export方法的典型用法代码示例。如果您正苦于以下问题:Golang Block.Export方法的具体用法?Golang Block.Export怎么用?Golang Block.Export使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/joushou/gocnc/gcode.Block
的用法示例。
在下文中一共展示了Block.Export方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: postCheck
func (vm *Machine) postCheck(stmt *gcode.Block) {
for _, w := range stmt.Nodes {
if _, ok := w.(*gcode.Word); ok {
panic(fmt.Sprintf("Unsupported commands left in block: %s", stmt.Export(-1)))
}
}
}
示例2: performMove
func (vm *Machine) performMove(stmt *gcode.Block) {
if !stmt.IncludesOneOf('X', 'Y', 'Z') {
// Nothing to do
return
}
s := vm.State
if s.FeedMode == FeedModeInvTime && s.Feedrate == -1 && s.MoveMode != MoveModeRapid {
invalidCommand("motionGroup", "rapid", "Non-rapid inverse time feed mode move attempted without a set feedrate")
}
if vm.CoordinateSystem.OverrideActive() {
if s.CutterCompensation != CutCompModeNone {
invalidCommand("motionGroup", "move", "Coordinate override attempted with cutter compensation enabled")
}
if s.MoveMode == MoveModeCWArc || s.MoveMode == MoveModeCCWArc {
invalidCommand("motionGroup", "arc", "Coordinate override attempted for arc")
}
}
if s.MoveMode == MoveModeCWArc || s.MoveMode == MoveModeCCWArc {
// Arc
newX, newY, newZ, newI, newJ, newK := vm.calcPos(*stmt)
vm.arc(newX, newY, newZ, newI, newJ, newK, stmt.GetWordDefault('P', 1))
stmt.RemoveAddress('X', 'Y', 'Z', 'I', 'J', 'K', 'P')
} else if s.MoveMode == MoveModeLinear || s.MoveMode == MoveModeRapid {
// Line
newX, newY, newZ, _, _, _ := vm.calcPos(*stmt)
vm.move(newX, newY, newZ)
stmt.RemoveAddress('X', 'Y', 'Z')
} else {
invalidCommand("motionGroup", "move", fmt.Sprintf("Move attempted without an active move mode [%s]", stmt.Export(-1)))
}
}